Nginx Proxy Manager и django с nginx
У меня есть стек Django+Gunicorn+nginx, запущенный в контейнерах docker. Он доступен извне по домену и порту, например web.example.com:1300 . Также запущен Nginx Proxy Manager (NPM) (использует порты 80 и 443) и успешно управляет некоторыми другими ресурсами (например, nextcloud). Но он не проксирует мой проект django на порт 1300, показывает "502 Bad Gateway".
В Proxy Hosts в NPM я добавил config:
доменные имена: web.example.com
Имя хоста/IP: nginx_docker_container_name (так он работает с другими ресурсами)
>
Порт форварда: 1300
.
Другие настройки: пробовали несколько комбинаций без успеха (например, с SSL сертификатами и без них и т.д.)
Возможно ли проксирование с помощью NPM?
Извините, если я упустил какую-то информацию, на самом деле я не знаю, что еще можно указать.
Мне удалось решить проблему самостоятельно.
Итак, nginx в докер-контейнере обслуживает сайт со статическими страницами. Nginx proxy manager проксирует протокол htpp на nginx и защищает связь (и также работает из контейнера docker в моем случае).
Моя ошибка в том, что я не соединил эти докер-контейнеры виртуальной сетью.
Когда я соединил их в одну сеть - все работает.
Затем я неопубликовал порт nginx (1300).
Настройки прокси NPM "стандартные", например, нет "custom location" и ничего во вкладке "Advanced". Просто "Forward Hostname / IP" - это тег контейнера docker, а "Forward Port" - это порт nginx, который он прослушивает (80 по умолчанию).
С WhiteNoise, вам не нужно настраивать nginx для статических файлов django
❤️❤️❤️