7.4 KiB
Конфигурация Nginx Proxy Manager для odo.iieasy.ru
Настройка прокси для Open WebUI
Шаг 1: Создание Proxy Host в Nginx Proxy Manager
- Войдите в Nginx Proxy Manager (обычно
http://your-server-ip:81) - Перейдите в Proxy Hosts → Add 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 (рекомендуется)
- В Nginx Proxy Manager перейдите в SSL Certificates → Add SSL Certificate
- Выберите Let's Encrypt
- Заполните:
- Domain Names:
odo.iieasy.ru(можно добавить несколько через запятую) - Email Address: Ваш email (для уведомлений об истечении сертификата)
- Agree to Let's Encrypt Terms: Включено
- Use a DNS Challenge: Обычно НЕ нужно (используется HTTP challenge)
- Domain Names:
- Нажмите Save
- Дождитесь создания сертификата (может занять 1-2 минуты)
Требования для Let's Encrypt:
- Домен
odo.iieasy.ruдолжен указывать на IP вашего сервера (A-запись в DNS) - Порт 80 должен быть доступен из интернета (для HTTP challenge)
- Nginx Proxy Manager должен быть доступен на порту 80
Вариант B: Использование существующего сертификата
Если у вас уже есть SSL сертификат:
- SSL Certificates → Add SSL Certificate → Custom
- Вставьте содержимое файлов:
- Certificate: содержимое
.crtили.pemфайла - Private Key: содержимое
.keyфайла
- Certificate: содержимое
- Нажмите Save
Вариант C: Временное отключение SSL (только для тестирования)
Если нужно быстро проверить работу без SSL:
- В Proxy Host настройках убедитесь, что SSL не включен
- Используйте HTTP вместо HTTPS:
http://odo.iieasy.ru
Шаг 4: Применение SSL к Proxy Host
После создания SSL сертификата:
- Вернитесь к вашему Proxy Host для
odo.iieasy.ru - Перейдите на вкладку SSL
- Выберите созданный сертификат в поле SSL Certificate
- Включите:
- Force SSL: Включено (перенаправляет HTTP на HTTPS)
- HTTP/2 Support: Включено
- HSTS Enabled: Включено (опционально)
- HSTS Subdomains: Включено (опционально, если используете поддомены)
- Нажмите 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:
- В Forward Hostname/IP укажите:
open-webui(имя контейнера) - В Forward Port укажите:
8080(внутренний порт контейнера)
Если Nginx Proxy Manager работает на хосте:
- В Forward Hostname/IP укажите:
localhostили127.0.0.1 - В Forward Port укажите:
3001(порт на хосте)
Проверка работы
После настройки проверьте:
- Откройте
https://odo.iieasy.ruв браузере - Проверьте логи Nginx Proxy Manager при ошибках
- Проверьте логи Open WebUI:
docker compose logs open-webui
Устранение проблем
ERR_SSL_UNRECOGNIZED_NAME_ALERT
Эта ошибка означает, что SSL сертификат не настроен или не соответствует домену.
Решение:
- Проверьте, что SSL сертификат создан в Nginx Proxy Manager
- Убедитесь, что сертификат применен к Proxy Host (вкладка SSL)
- Проверьте, что домен
odo.iieasy.ruуказан в сертификате - Если используете Let's Encrypt, проверьте:
- DNS A-запись для
odo.iieasy.ruуказывает на IP сервера - Порт 80 доступен из интернета
- Домен не заблокирован файрволом
- DNS A-запись для
Временное решение для тестирования:
- Отключите 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 (но лучше оставить пустым)