Я сделал простую настройку с двумя экземплярами GCE за балансировщиком нагрузки. Но в журналах балансировщика я вижу случайные 502 ответа со следующей ошибкой: «failed_to_connect_to_backend»
Ал подумал, что последняя проверка работоспособности прошла нормально с ответами 200, а проверка моих журналов nginx показывает, что запрос даже не прошел через серверную часть nginx.
Я не могу понять, в чем проблема, есть ли какие-либо журналы, показывающие, почему не удалось подключиться к бэкэнду? это проблема проверки работоспособности? есть ли журналы проверки работоспособности?
Правильно ли вы настроили тайм-аут сохранения активности?
Тайм-аут сеанса TCP, значение которого фиксировано и составляет 10 минут (600 секунд). Этот тайм-аут сеанса иногда называют тайм-аутом поддержки активности или простоя, и его значение не может быть изменено путем изменения вашей серверной службы. Вы должны настроить программное обеспечение веб-сервера, используемое вашими бэкэндами, так, чтобы его тайм-аут поддержки активности превышал 600 секунд, чтобы предотвратить преждевременное закрытие соединений серверной частью.
Теперь это в официальной документации GCP. Рекомендуемый параметр для nginx: KeepAliveTimeout 620. Рекомендуемый параметр для Apache: keepalive_timeout 620 сек.
https://blog.percy.io/tuning-nginx-behind-google-cloud-platform-http-s-load-balancer-305982ddb340
https://cloud.google.com/compute/docs/load-balancing/http/
https://cloud.google.com/load-balancing/docs/https/#timeouts_and_retries