Опишу немного для общего понимания схему:
Клиенты обращаются на несколько прокси серверов, которые проксирую запросы на другие (промежуточные) прокси и промежуточные прокси уже проксируют запрос на сервера оригинации. Client <-> Edge_proxy <-> proxy_промежуточные <-> Origin server Периодически возникают проблемы с 502-ми ответами в логе с одного из upstream серверов. При этом на запрос к апстриму, где в логе 502, есть записи в error.log вида 2020/09/29 07:28:09 [error] 13038#13038: *4641196828 upstream prematurely closed connection while reading response header from upstream, client: <IP>, server: <DOMAIN>, request: "GET <URI> HTTP/1.1", upstream: "http://<IP>/<URI>", host: "<domain>" или 2020/09/29 07:54:54 [error] 40174#40174: *3165979465 upstream prematurely closed connection while reading response header from upstream, client: <IP>, server: <DOMAIN>, request: "GET <URI> HTTP/1.1", upstream: "http://<IP>/<URI>", host: "<domain>" Сам лог запроса: IP <domain> [30/Sep/2020:10:12:57 +0000] "GET <URI> HTTP/1.1" 200 MISS "UPSTREAM1, UPSTREAM2" 75539 "-" "User_agent" "0.079" "-" "TLSv1.2/ECDHE-RSA-AES128-GCM-SHA256" "21/7498183988" 75945 "0, 75539" "-, 0.076" "0.000, 0.076" "502, 200" RU 3dca4fc6a9c7cf10a8448faa0 443 Где "0.000, 0.076" - request_time "502, 200" - соотв коды ответов для Upstream1, Upstream2. При этом через секунду или даже меньше, запросы с этого промежуточного прокси-сервера приходят с 200-м кодом. + очень смущает то, что время ответа 0.000. Значит никакие таймауты не превышались. Проблем с сетью между серверами нет, MTR показывает 0% потерь на дистанции 1час+. Ресурсов на серверах хватает. Помогите, пожалуйста, понять в чем проблема. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,289619,289619#msg-289619 _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
