Настройка прокси для LLM-провайдеров
Если ваша сеть блокирует прямой доступ к API LLM-провайдера, вы можете поднять обратный прокси nginx на своём VPS/VDS сервере и указать его адрес в поле «API-эндпоинт» настроек DoQA AI. На эту страницу ведёт ссылка «Как настроить прокси» прямо из формы настройки провайдера.
Прокси имеет смысл настраивать для двух провайдеров из списка: «OpenAI» и «Свой провайдер» — только у них есть поле «API-эндпоинт». У «DoQA» и «YandexGPT» адрес фиксированный, и поля для него нет.
«Свой провайдер» принимает любой OpenAI-совместимый API, поэтому через прокси можно вести и его. Anthropic и Google AI отдельными пунктами в списке провайдеров DoQA не представлены. См. Настройки DoQA AI.
Требования
- VPS/VDS сервер с публичным IP-адресом (рекомендуется Ubuntu 22.04+)
- Доменное имя с A-записью, указывающей на IP сервера
- Открытые порты 80 и 443 в файрволе
- Root или sudo доступ по SSH
1. Установите nginx и certbot
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
2. Создайте конфигурацию nginx
Создайте файл /etc/nginx/sites-available/llm-proxy со следующим содержимым. Замените your-domain.example.com на ваш реальный домен.
server {
listen 80;
server_name your-domain.example.com;
location /.well-known/acme-challenge/ {
root /var/www/html;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name your-domain.example.com;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# --- OpenAI ---
location /openai/ {
proxy_pass https://api.openai.com/v1/;
proxy_ssl_server_name on;
proxy_set_header Host api.openai.com;
proxy_pass_request_headers on;
proxy_read_timeout 120s;
proxy_send_timeout 120s;
}
# --- Свой провайдер: подставьте адрес своего OpenAI-совместимого API ---
location /custom/ {
proxy_pass https://api.example-llm.com/v1/;
proxy_ssl_server_name on;
proxy_set_header Host api.example-llm.com;
proxy_pass_request_headers on;
proxy_read_timeout 120s;
proxy_send_timeout 120s;
}
}
Блок location /custom/ нужен, только если вы ведёте через прокси «Свой провайдер». Если используете один OpenAI — удалите его.
3. Включите сайт и получите SSL-сертификат
# Включить сайт
sudo ln -sf /etc/nginx/sites-available/llm-proxy \
/etc/nginx/sites-enabled/
# Проверить конфигурацию и перезагрузить
sudo nginx -t && sudo systemctl reload nginx
# Получить сертификат Let's Encrypt
sudo certbot --nginx -d your-domain.example.com
Certbot автоматически обновит конфигурацию nginx с путями к SSL-сертификату и настроит автопродление.
Альтернатива: самоподписанный сертификат
Если Let's Encrypt недоступен, создайте самоподписанный сертификат:
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/llm-proxy.key \
-out /etc/ssl/certs/llm-proxy.crt \
-subj "/CN=your-domain.example.com"
Затем добавьте эти строки в блок server (порт 443):
ssl_certificate /etc/ssl/certs/llm-proxy.crt;
ssl_certificate_key /etc/ssl/private/llm-proxy.key;
4. Настройте эндпоинт в DoQA
Откройте «Настройки администратора» → «AI Settings» → блок «Провайдер» и впишите адрес прокси в поле «API-эндпоинт» — см. Настройки DoQA AI.
| Провайдер в DoQA | Что вписать в «API-эндпоинт» |
|---|---|
| OpenAI | https://your-domain.example.com/openai/ |
| Свой провайдер | https://your-domain.example.com/custom/ |
Если оставить «API-эндпоинт» пустым, DoQA обращается к эндпоинту провайдера по умолчанию — под полем об этом написано: «Оставьте пустым для эндпоинта по умолчанию или введите URL прокси». Для «Своего провайдера» поле обязательное.
5. Проверка
Проверьте прокси из командной строки (вы должны получить 401 — это значит, что прокси работает):
curl -I https://your-domain.example.com/openai/chat/completions