현재 하나의 호스트 nginx 인스턴스를 제공하는 443 프론트 엔드, 백엔드 및 상태 검사로 HTTPS로드 밸런서 설정이 작동합니다.Google Cloud Load Balancer - 502 - 관리되지 않는 인스턴스 그룹 상태 검사에 실패했습니다.
브라우저를 통해 호스트로 직접 이동할 때 유효한 SSL 인증서가 페이지에 올바르게로드됩니다.
부하 분산 장치 IP를 통해 사이트에 액세스하려고하면 502 - 서버 오류 메시지가 나타납니다. 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 - 구글 - 주소 - 관리자가 서버 (RHEL 7)에서 실행되고 있는지 확실하지. 경로에 HTTPS로드 밸런서 IP 항목이 표시되지 않습니다. Google SDK가 설치되었습니다. 이것은 Google 제공 이미지이며 콘솔에서 IP 주소를 업데이트하면 호스트에서도 업데이트됩니다. RHEL7에서 google-address-manager가 실행되고 있는지 어떻게 확인합니까? 모든 구글 서비스
[[email protected]]# 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의
[[email protected]]# 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
출력 : 200 OK 응답을 수신하지 않습니다. 인증서는 유효하며 LB와 서버 모두에서 동일합니다. 앱 서버에 대해 말풍선을 돌릴 때 나는이 응답을 받는다.
[email protected] 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
생각들? 이것은 확실히 확실하지 않은 내부 부하 분산 마찬가지입니다 - (가장 쉬운 0.0.0.0
에 바인드입니다) https://cloud.google.com/compute/docs/load-balancing/health-checks#health_check_source_ips_and_firewall_rules 및 백엔드 서비스가로드 밸런서의 IP에서 수신 대기 있는지 확인 -