@winmasta

Как правильно настроить nginx proxypass?

Всем добрый день.Имеется веб сервер в локальной сети был доступный снаружи, через проброс портов (pfsense) TCP 80, 443, 4055. При входе на веб-интерфейс и вводе логина и пароля открывался "веб телефон". Появилась необходимость на внешнем адресе иметь доступ до разных машин по dns именам на 80 и 443 порты. Для этого было решено использовать nginx как reverse proxy (может есть решения проще) с заделом на возможную будущую балансировку нагрузки по некоторым сайтам. Адрес nginx 192.168.1.2 Поменял проброс 80 и 443 порта на 192.168.1.2 В конфигурации nginx прописал (здесь только часть, касающаяся именно этого сервера, остальные настроены по аналогии)

server {
listen 443 ssl;
server_name ДОМЕННОЕ.ИМЯ.СЕРВЕРА;
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/0000_key-certbot.pem;
ssl_protocols TLSv1 TLSv1.1 TLSV1.2;
access_log /var/log/nginx/proxy.log;
location / {
proxy_pass https://192.168.1.1:443;
}
}
server {
listen 80;
server_name ДОМЕННОЕ.ИМЯ.СЕРВЕРА;
access_log /var/log/nginx/oktell_proxy.log;
location / {
proxy_pass http://192.168.1.1;
}
}

Теперь веб интерфейс сервера доступен снаружи по dns имени (а так же другие сервера), но после ввода логина и пароля происходит ошибка. Не пойму в чем проблема и вообще где она. Буду рад услышать любые комментарии и подсказки опытных людей по существующей настройке (возможно нужно изменить), а так же увидеть ссылки на статьи по настройке подобных конфигураций. Всем заранее спасибо.
  • Вопрос задан
  • 1412 просмотров
Решения вопроса 1
@winmasta Автор вопроса
вот такая ошибка была при входе

VM197:37 WebSocket connection to 'ws://oktell.ooossa.ru/' failed: Error during WebSocket handshake: Unexpected response code: 200

как видно сайт использует веб сокет, следовательно нужно добавить пару директив в конфиг

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

теперь работает
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Добавьте в location /
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;

И посмотрите какая ошибка в логах nginx
И еще, порт у https уберите. Он там лишний.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы