Итак, я пытаюсь настроить обратный прокси и обнаружил странную ошибку: Когда я перенаправляю пользователя, все работает нормально, но когда я использую proxy_pass (как мне нужно), я получаю «ошибку 502 Bad Gateway».
Код:
server { #banca empresas HTTP
listen 80;
server_name emp.baiq.pt www.emp.baiq.pt;
rewrite ^ https://$server_name$request_uri? permanent;
}
server { #banca empresas HTTPS
listen 443;
server_tokens off;
server_name emp.baiq.pt www.emp.baiq.pt;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
ssl_certificate /etc/nginx/certs/*.baiteste.pt.crt;
ssl_certificate_key /etc/nginx/certs/*.baiteste.pt.key;
location / {
#proxy_pass http://192.168.1.78:8081/login.htm?origin=E;
return 301 http://192.168.1.78:8081/login.htm?origin=E;
}
#error_page 500 502 503 504 /maintenance_page/index.html;
location = /maintenance_page/index.html {
root html;
}
location = /favicon.ico {
log_not_found off;
}
access_log /var/log/nginx/emp.baiq.pt.access.log;
}
После захвата трафика я обнаружил, что одноранговый узел после 3 -way рукопожатие завершено, соединение немедленно закрывается после получения http-запроса.
Итак, что могло быть причиной этой ошибки?
Файл журнала ошибок
2019/07/24 08:25:40 [error] 24506#24506: *2 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, server: mydomain.com, request: "GET / HTTP/1.1", upstream: "http://y.y.y.y:8081/", host: domaintoaccess.com
Спасибо
Итак, после двух дней размышлений (и с некоторой помощью) я / мы обнаружили, что это проблема маршрутизации. Кажется, что брандмауэры по какой-то причине незаметно отбрасывают пакеты для этой связи (у нас нет никаких правил, которые это делают).