Назад | Перейти на главную страницу

Как проверить работоспособность хостов по HTTPS за балансировщиком нагрузки?

У меня есть NGINX, обслуживающий мой сайт по HTTPS на хостах EC2 за Elastic Load Balancer. Мне нужно настроить надлежащую проверку здоровья в ELB. Однако я не могу использовать https://www.example.com потому что мне нужно проверить работоспособность HOST, а не моего сайта. А с другой стороны, я не могу использовать https://ec2host.amazonaws.com потому что сертификат SSL действителен только для моего домена (example.com). Итак, в итоге я использовал проверку TCP-порта 80, что на самом деле является минимальным.

Как мне настроить правильную проверку работоспособности в ELB, чтобы проверить, правильно ли данный хост доставляет мой сайт через HTTPS?

Мне удалось добиться этого, используя подход, подобный описанному здесь: http://scottwb.com/blog/2013/10/28/always-on-https-with-nginx-behind-an-elb/.

В конфиге NGINX я добавил:

  1. Определенная директива местоположения для URL-адреса проверки работоспособности ("/ healthcheck"), которая не обеспечивает принудительного применения HTTPS.
  2. Перенаправление, если заголовок «X-Forwarded-Proto: https» не существует.