Настройка прокси для LLM-провайдеров
Если ваша сеть блокирует прямой доступ к API LLM-провайдеров (OpenAI, Anthropic, Google AI), вы можете настроить обратный прокси nginx на своём VPS/VDS сервере и использовать его как endpoint в DoQA.
Требования
- 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;
}
# --- Anthropic ---
location /anthropic/ {
proxy_pass https://api.anthropic.com/;
proxy_ssl_server_name on;
proxy_set_header Host api.anthropic.com;
proxy_pass_request_headers on;
proxy_read_timeout 120s;
proxy_send_timeout 120s;
}
# --- Google AI (Gemini) ---
location /googleai/ {
proxy_pass https://generativelanguage.googleapis.com/;
proxy_ssl_server_name on;
proxy_set_header Host generativelanguage.googleapis.com;
proxy_pass_request_headers on;
proxy_read_timeout 120s;
proxy_send_timeout 120s;
}
}
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. Настройте endpoint в DoQA
Укажите следующий URL в поле «API Endpoint»:
| Провайдер | API Endpoint |
|---|---|
| OpenAI | https://your-domain.example.com/openai/ |
5. Проверка
Проверьте прокси из командной строки (вы должны получить 401 — это значит, что прокси работает):
curl -I https://your-domain.example.com/openai/chat/completions