У меня сейчас есть HTTPS Load Balancer, работающий с 443 Frontend, Backend и Health Check, который обслуживает один экземпляр nginx хоста.
При прямом переходе к хосту через браузер страница загружается правильно с действующими сертификатами SSL.
При попытке доступа к сайту через IP-адрес балансировщика нагрузки я получаю сообщение об ошибке 502 - Server. Я проверяю журналы Google и замечаю ошибки «failed_to_pick_backend» в балансировщике нагрузки. Я также заметил, что он не проходит проверку работоспособности.
Некоторое исследование приводит меня к этим двум ссылкам: https://cloudplatform.googleblog.com/2015/07/Debugging-Health-Checks-in-Load-Balancing -on-Google-Compute-Engine.html
https://github.com/coreos/bugs/issues/1195
Проблема № 1. Не уверен, что google-address-manager запущен на сервере (RHEL 7). Я не вижу записи для IP-адреса балансировщика нагрузки HTTPS в маршрутах. Google SDK установлен. Это изображение, предоставленное Google, и если я обновляю IP-адрес в консоли, он также обновляется на хосте. Как проверить, запущен ли google-address-manager на RHEL7?
[root@server]# ip route ls table local type local scope host
10.212.2.40 dev eth0 proto kernel src 10.212.2.40
127.0.0.0/8 dev lo proto kernel src 127.0.0.1
127.0.0.1 dev lo proto kernel src 127.0.0.1
Вывод всех служб Google
[root@server]# systemctl list-unit-files
google-accounts-daemon.service enabled
google-clock-skew-daemon.service enabled
google-instance-setup.service enabled
google-ip-forwarding-daemon.service enabled
google-network-setup.service enabled
google-shutdown-scripts.service enabled
google-startup-scripts.service enabled
Проблема № 2: Не получен ответ 200 OK. Сертификат действителен и одинаков как на LB, так и на сервере. При запуске curl на сервере приложений я получаю следующий ответ.
root@server.com curl -I https://app-server.com
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
Мысли?
Устраните неполадки проверок работоспособности , и как только они начнут работать, есть большие шансы, что остальные проблемы исчезнут (тем более, что ваш бэкэнд возвращает контент).