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

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

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

1 ответ

Мне удалось сделать это, используя подход, описанный здесь: 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" не существует.
Другие вопросы по тегам