Ошибка сервера внешнего балансировщика нагрузки HTTP 502 GCP: "failed_to_connect_to_backend"
Я настроил внешний балансировщик нагрузки http на GCP, и все мои экземпляры vm работают в бэкэнде. Но когда я пытаюсь получить доступ к своему серверу (установленному на виртуальной машине) со статического IP-адреса внешнего интерфейса, который зарезервирован в балансировщике нагрузки, он выдает мне ошибку статуса 502.
В результате я не могу запустить свой сервер приложений с помощью балансировщика нагрузки. Помогите мне решить эту проблему.
Заранее спасибо.
2 ответа
возможно, вам следует проверить, не превышает ли время, затраченное API на возврат ответа, тайм-аут, который вызовет срабатывание 502. Значение по умолчанию - 30 секунд.
Ссылка: https://cloud.google.com/load-balancing/docs/backend-service#timeout-setting
Для устранения неполадок ответа 502 от балансировщика нагрузки из-за "failed_to_connect_to_backend". Я бы проверил следующее:
- Обычно сообщение об ошибке "failed_to_connect_to_backend" указывает на то, что балансировщику нагрузки не удается подключиться к бэкэндам, изучение правил сопоставления URL-адресов также является хорошей отправной точкой. Я также предлагаю просмотреть карту URL-адресов вашего балансировщика нагрузки, чтобы убедиться, что правила хоста, сопоставление пути и правила пути определены правильно и соответствуют описаниям в этой статье.
- Также проверьте, не исчерпывают ли внутренние экземпляры свои ресурсы. Если внутренний сервер перегружен, он будет отклонять входящие запросы, что может привести к тому, что балансировщик нагрузки откажется от него и вернет конкретную ошибку 502, с которой вы столкнулись. Кроме того, проверьте вывод о том, сколько установленных подключений присутствует одновременно, используя команду netstat и watch.
- Я также рекомендовал бы снова провести тестирование с HTTP(S) -запросом непосредственно к экземпляру, запросив тот же URL-адрес, что и для отчета 502. Вы можете выполнить этот тест на другом экземпляре виртуальной машины в вашей сети VPC.