502 Ошибка сервера на Google Compute Engine
Я установил сервер на Google Compute Engine с сервером Apache на Ubuntu 16.04.4 LTS. Это защищено с IAP.
Все это было нормально в течение примерно 6 месяцев, но теперь некоторые пользователи сталкиваются с ошибкой 502 Server.
Я уже проверил следующие ссылки
- Некоторые ошибки 502 в балансировке нагрузки HTTP GCP [изменен Apache KeepAliveTimeout на 620]
- 502 ответ от ошибок в Google Cloud LoadBalancer [Удалены запросы AJAX]
Но проблема все еще там.
Вот сообщение об ошибке из одного из журналов.
{
httpRequest: {…}
insertId: "170sg34g5fmld90"
jsonPayload: {
@type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
statusDetails: "failed_to_pick_backend"
}
logName: "projects/sggc-web01/logs/requests"
receiveTimestamp: "2018-03-14T07:21:55.807802906Z"
resource: {…}
severity: "WARNING"
spanId: "44a49bf1b3893412"
timestamp: "2018-03-14T07:21:53.048717425Z"
trace: "projects/sggc-web01/traces/f35119d8571f20df670b0d53ab6b3210"
}
Пожалуйста, помогите мне отследить и устранить проблему. Спасибо!
1 ответ
Ошибка вызвана не сервером, а балансировщиком нагрузки.
Для ошибки, которую мы можем видеть в statusDetails "failed_to_pick_backend", она вызывается, потому что все экземпляры были нездоровы (или все еще есть), когда он пытается установить соединение.
Это может быть потому что:
1 - загрузка ЦП экземпляров была слишком высокой, и они не смогли ответить на запрос проверки работоспособности от балансировщика нагрузки, который показывал его как вредный для здоровья.
2 - проверки работоспособности не разрешены в брандмауэре (я сомневаюсь, что это может быть причиной, если он работал раньше)