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

AWS Elastic Beanstalk + Node JS + HTTPS = в соединении отказано

У меня есть приложение node js, развернутое на AWS, с использованием Elastic Beanstalk с одним экземпляром. Он хорошо работает с HTTP, но у меня возникли проблемы с настройкой доступа HTTPS.

Я создал свой сертификат и выполнил инструкции из документа AWS EB: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-nodejs.html

Вот описание моей проблемы после развертывания нового кода:

Я все еще могу подключиться к URL-адресу в браузере с помощью HTTP, однако при попытке подключения с помощью HTTPS я получаю сообщение ERR_CONNECTION_REFUSED

Я использовал netcat, чтобы проверить, доступен ли порт 443, а это не так:

nc -z environment.elasticbeanstalk.com 80

возвращает:

Connection to environment.elasticbeanstalk.com port 80 [tcp/http] succeeded!

но

nc -z environment.elasticbeanstalk.com 443

ничего не возвращает

Я также проверил входящее правило для группы безопасности, связанной с экземпляром EC2, и у него действительно открыт порт 443:

И, наконец, я проверил журналы эластичного beanstalk и не нашел никакой ссылки на запрос HTTPS. Если я ищу временные метки примерно в то время, когда я пытаюсь получить доступ к этому приложению с помощью HTTPS, их нет. Похоже, что сервер nginx никогда не получал запрос.

У меня не было проблем с настройкой аналогичного доступа HTTPS, когда я использовал Elatstic Beanstalk с сервером php / apache, но в этом случае я новичок в node / nginx, поэтому я могу пропустить что-то базовое.

У вас есть предложения, что я могу проверить или что я могу сделать?

Заранее большое спасибо,

Эрез

Хорошо, я обнаружил проблему: в конфигурации эластичного бобового стебля прокси не был настроен.

Я обновил конфигурацию EB, включив прокси nginx, и это сработало.

Configuration > Software Configuration > Container Options > Proxy server: nginx