#amazon-web-services #nginx #amazon-ec2 #amazon-elastic-beanstalk
Вопрос:
Я использую эластичный бобовый стебель для запуска своего приложения. Он связан с одним экземпляром EC2 (PHP 8.0, работающим на 64-битном Amazon Linux 2/3.3.4, использующим Nginx) и RDS.
Проблема в том, что я могу получить доступ к приложению через домен EB (например http://app21.us-east-2.elasticbeanstalk.com/) в браузере, но я получаю мгновенное «отказано в подключении» через общедоступный IP-адрес экземпляра EC2 (например, 18.190.158.12). Обратите внимание, что его загрузка через домен электронной почты происходит медленно, потому что он пытается загружаться по https (а у меня еще не настроен ssl). Я также могу подключиться по SSH к экземпляру EC2.
Первое, что я попытался сделать, это посмотреть на группы безопасности EC2 ниже. Я добавил некоторые правила, чтобы убедиться, что https и http разрешены через IP4 и IP6 (Скриншот -> >Группы безопасности EC2)
В деталях конфигурации электронной почты указано, что среда электронной почты не является частью VPC. Это меня немного смущает, так как я думаю, что экземпляр EC2? В любом случае, просматривая страницы экземпляра, я нашел ACL, связанный с экземпляром. Ниже приведены правила входящих и исходящих сообщений (Скриншоты -> >Правила входящих сообщений ACL, правила исходящих сообщений ACL)
Интересно, что, когда я пингую как домен EB, так и IP EC2, они оба истекают.
Я не знаю, куда идти дальше! Возможно, это проблема с Nginx? Это приложение Laravel, но я не могу представить, что Laravel вызывает проблему.
Дайте мне знать, если есть другая информация, которую я могу предоставить! Заранее спасибо за любую помощь.
ОБНОВЛЕНИЕ-РЕШЕНО
Теперь доступны как домен электронной почты, так и общедоступный IP-адрес экземпляра. Мне не понятно, почему, но вот что я изменил;
- Я изменил свое имя a, чтобы указать на домен EBS, а не на IP-адрес экземпляра EC2 (хотя я не думаю, что это повлияет на проблему)
- Я добавил прослушиватель в балансировщик нагрузки приложений для https (который ссылается на сертификат AMS).
Мой домен преобразуется в домен EB, и публичный IP-адрес EC2 также преобразуется. Поди разберись!
Комментарии:
1. FWIW 18.190.158.32 и bepo21.us-east-2.elasticbeanstalk.com сейчас оба отвечают за меня. Что касается ping, балансировщик нагрузки EB не будет отвечать на ping, и вам необходимо добавить правила SG для ICMP, чтобы экземпляр EC2 отвечал на ping.
2. Спасибо, они тоже работают на меня. Единственное, что я изменил,-это указал свое имя A на домен Elastic Beanstalk и добавил прослушиватель https в балансировщик нагрузки моего приложения. Странный.