
Итак, я пытаюсь настроить обратный прокси-сервер и сталкиваюсь со странной ошибкой: когда я перенаправляю пользователя, все работает нормально, но когда я использую 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;
}
После перехвата трафика я обнаружил, что узел после завершения трехстороннего рукопожатия немедленно закрывает соединение, как только получает 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
Спасибо
решение1
Итак, после примерно 2 дней размышлений об этом (и с некоторой помощью) я/мы выяснили, что это была проблема маршрутизации. Похоже, что брандмауэры по какой-то причине тихо отбрасывают пакеты для этого сообщения (у нас нет никаких правил, которые это делают).