Я пытаюсь разместить приложение ASP.NET Core на экземпляре EC2 со следующей настройкой (сверху вниз).Учитывая приведенную ниже настройку, я получаю статус работоспособности для экземпляра EC2, а также для целевой группы.Кроме того, если я проверяю состояние службы Kestrel на сервере, я вижу входящие запросы от проверок состояния Целевой группы с 200 ответами.
Проблема, с которой я сталкиваюсь, заключается в том, что, если я получаю доступ к ELB,Конечная точка DNS, я получаю ответ 502 (Bad Gateway).Почему это?Тем более, что я вижу на веб-сервере поступающие запросы на проверку работоспособности и получил 200 ответов. Однако я не вижу запросов, которые я явно задаю к конечной точке DNS ELB. Это похоже на то, что запросы к конечной точке DNS ELB фактически никогда не достигают веб-сервера.
Еще одна вещь, котораяне принимайте во внимание, что у меня есть сервер перехода в общедоступной подсети в том же VPC, что и частная подсеть, в которой находится экземпляр EC2.Я могу сделать запрос от сервера перехода на частный IP-адрес и получить ответ 200 с моим логином html.Казалось бы, все на веб-сервере правильно;что-то не так с этим.
Маршрут 53
Я использую хост-зону Route 53 для своего домена.HZ имеет запись A, которая указывает на Elastic Load Balancer .
Elastic Load Balancer
Трафик из домена (по портам HTTP иHTTPS) направляется на Application Load Balancer , прослушивающий HTTP (80) и HTTPS (443).Трафик HTTPS имеет Certificate Manager , назначенный общедоступному SSL-сертификату.Трафик HTTPS заканчивается здесь и передается нижележащим экземплярам как HTTP.
Целевая группа ELB
У меня есть целевая группа, указывающая на указанный экземпляр.Для целевой группы я нацелился на страницу входа в запущенное приложение и ожидаю ответа 200.
Группа автоматического масштабирования
У меня есть ASG, которая указываетдля целевой группы ELB.
веб-сервер
Для веб-сервера я использую экземпляр Amazon Linux 2 AMI с Kestrel, работающим за обратным прокси-сервером Nginx.Служба Kestrel размещает приложение ASP.NET MVC, работающее через порт 5000 (HTTP).
Экземпляр EC2 находится в частной подсети.В том же VPC и AZ есть открытая подсеть с подключенным Интернет-шлюзом .
. Для конфигурации запуска приложения .NET Core я использую стандартные заголовки переадресации.
К экземпляру EC2 подключена группа безопасности, разрешающая трафик HTTP и HTTPS из группы безопасности ELB и трафик SSH из переключателя, расположенного в общедоступной подсети в том же VPC.