Files
iiEsaywebUI/nginx-proxy-manager-config.md
2026-02-19 18:12:09 +00:00

7.4 KiB
Raw Blame History

Конфигурация Nginx Proxy Manager для odo.iieasy.ru

Настройка прокси для Open WebUI

Шаг 1: Создание Proxy Host в Nginx Proxy Manager

  1. Войдите в Nginx Proxy Manager (обычно http://your-server-ip:81)
  2. Перейдите в Proxy HostsAdd Proxy Host

Шаг 2: Настройка Details

  • Domain Names: odo.iieasy.ru
  • Scheme: http
  • Forward Hostname/IP: open-webui (имя контейнера Docker) или localhost
  • Forward Port: 3001 (изменено с 3000)
  • Cache Assets: Включено (опционально)
  • Block Common Exploits: Включено
  • Websockets Support: ВКЛЮЧЕНО (важно для Open WebUI!)

Шаг 3: Настройка SSL

ВАЖНО: SSL сертификат должен быть настроен ДО того, как вы сможете открыть сайт по HTTPS.

Вариант A: Использование Let's Encrypt (рекомендуется)

  1. В Nginx Proxy Manager перейдите в SSL CertificatesAdd SSL Certificate
  2. Выберите Let's Encrypt
  3. Заполните:
    • Domain Names: odo.iieasy.ru (можно добавить несколько через запятую)
    • Email Address: Ваш email (для уведомлений об истечении сертификата)
    • Agree to Let's Encrypt Terms: Включено
    • Use a DNS Challenge: Обычно НЕ нужно (используется HTTP challenge)
  4. Нажмите Save
  5. Дождитесь создания сертификата (может занять 1-2 минуты)

Требования для Let's Encrypt:

  • Домен odo.iieasy.ru должен указывать на IP вашего сервера (A-запись в DNS)
  • Порт 80 должен быть доступен из интернета (для HTTP challenge)
  • Nginx Proxy Manager должен быть доступен на порту 80

Вариант B: Использование существующего сертификата

Если у вас уже есть SSL сертификат:

  1. SSL CertificatesAdd SSL CertificateCustom
  2. Вставьте содержимое файлов:
    • Certificate: содержимое .crt или .pem файла
    • Private Key: содержимое .key файла
  3. Нажмите Save

Вариант C: Временное отключение SSL (только для тестирования)

Если нужно быстро проверить работу без SSL:

  1. В Proxy Host настройках убедитесь, что SSL не включен
  2. Используйте HTTP вместо HTTPS: http://odo.iieasy.ru

Шаг 4: Применение SSL к Proxy Host

После создания SSL сертификата:

  1. Вернитесь к вашему Proxy Host для odo.iieasy.ru
  2. Перейдите на вкладку SSL
  3. Выберите созданный сертификат в поле SSL Certificate
  4. Включите:
    • Force SSL: Включено (перенаправляет HTTP на HTTPS)
    • HTTP/2 Support: Включено
    • HSTS Enabled: Включено (опционально)
    • HSTS Subdomains: Включено (опционально, если используете поддомены)
  5. Нажмите Save

Шаг 5: Настройка Advanced (Custom Nginx Configuration)

ВАЖНО: Nginx Proxy Manager автоматически управляет большинством настроек. Custom Configuration обычно НЕ нужна и может вызвать ошибки 500.

Оставьте поле Custom Nginx Configuration ПУСТЫМ, если все работает без него.

Если все же нужны дополнительные настройки (только при проблемах), добавьте минимальную конфигурацию:

# Увеличение размера тела запроса для загрузки файлов (если нужно)
client_max_body_size 100M;

# Увеличенные таймауты (только если есть проблемы с таймаутами)
proxy_read_timeout 300s;

Но лучше оставить пустым - Nginx Proxy Manager сам настроит WebSocket, заголовки и другие параметры через интерфейс.

Шаг 6: Если используется Docker сеть

Если Nginx Proxy Manager работает в той же Docker сети, что и Open WebUI:

  1. В Forward Hostname/IP укажите: open-webui (имя контейнера)
  2. В Forward Port укажите: 8080 (внутренний порт контейнера)

Если Nginx Proxy Manager работает на хосте:

  1. В Forward Hostname/IP укажите: localhost или 127.0.0.1
  2. В Forward Port укажите: 3001 (порт на хосте)

Проверка работы

После настройки проверьте:

  1. Откройте https://odo.iieasy.ru в браузере
  2. Проверьте логи Nginx Proxy Manager при ошибках
  3. Проверьте логи Open WebUI: docker compose logs open-webui

Устранение проблем

ERR_SSL_UNRECOGNIZED_NAME_ALERT

Эта ошибка означает, что SSL сертификат не настроен или не соответствует домену.

Решение:

  1. Проверьте, что SSL сертификат создан в Nginx Proxy Manager
  2. Убедитесь, что сертификат применен к Proxy Host (вкладка SSL)
  3. Проверьте, что домен odo.iieasy.ru указан в сертификате
  4. Если используете Let's Encrypt, проверьте:
    • DNS A-запись для odo.iieasy.ru указывает на IP сервера
    • Порт 80 доступен из интернета
    • Домен не заблокирован файрволом

Временное решение для тестирования:

  • Отключите SSL в Proxy Host
  • Используйте HTTP: http://odo.iieasy.ru
  • После настройки SSL включите обратно

Ошибка 502 Bad Gateway

  • Убедитесь, что контейнер open-webui запущен: docker ps | grep open-webui
  • Проверьте, что порт 3001 доступен: curl http://localhost:3001
  • Проверьте логи: docker compose logs open-webui

WebSocket не работает

  • Убедитесь, что Websockets Support включен в Nginx Proxy Manager
  • НЕ добавляйте WebSocket настройки в Custom Configuration - они конфликтуют с автоматическими настройками NPM

Медленная загрузка

  • Проверьте логи: docker compose logs open-webui
  • Убедитесь, что контейнер Open WebUI работает нормально
  • Если нужны большие файлы, добавьте только client_max_body_size 100M; в Custom Configuration (но лучше оставить пустым)