Устранение неполадок: AWS Route 53, указывающий на ELB — обработка ошибки «Простой HTTP-запрос был отправлен на порт HTTPS»

В этой записи блога мы рассмотрим различные методы устранения неполадок и устранения распространенного сообщения об ошибке «Простой HTTP-запрос был отправлен на порт HTTPS» при настройке AWS Route 53 для указания на ELB (эластичный балансировщик нагрузки). Мы дадим разговорные объяснения и предоставим примеры кода, которые помогут вам понять и эффективно решить проблему.

Метод 1: проверка настроек группы безопасности
Одной из возможных причин ошибки является неправильная конфигурация группы безопасности, связанной с ELB. Убедитесь, что группа безопасности разрешает входящий трафик как по HTTP (порт 80), так и по HTTPS (порт 443). Вот пример настройки группы безопасности с помощью интерфейса командной строки AWS:

aws ec2 authorize-security-group-ingress --group-id <security-group-id> --protocol tcp --port 80 --cidr <your-ip-address>/32
aws ec2 authorize-security-group-ingress --group-id <security-group-id> --protocol tcp --port 443 --cidr <your-ip-address>/32

Метод 2: проверьте конфигурацию прослушивателя ELB
Проверьте конфигурацию прослушивателя вашего ELB, чтобы убедиться, что протоколы HTTP и HTTPS настроены правильно. Прослушиватель должен быть настроен на пересылку трафика с порта 80 (HTTP) на порт 80 экземпляров и с порта 443 (HTTPS) на порт 443. Вот пример настройки прослушивателя с помощью интерфейса командной строки AWS:

aws elbv2 create-listener --load-balancer-arn <elb-arn> --protocol HTTP --port 80 --default-actions Type=forward,TargetGroupArn=<target-group-arn>
aws elbv2 create-listener --load-balancer-arn <elb-arn> --protocol HTTPS --port 443 --default-actions Type=forward,TargetGroupArn=<target-group-arn>

Метод 3: проверка конфигурации сертификата SSL
Убедитесь, что сертификат SSL правильно настроен на ELB. Если вы используете AWS Certificate Manager, убедитесь, что сертификат выдан и связан с ELB. Если вы используете сторонний сертификат, убедитесь, что он действителен и правильно связан с ELB. Вот пример того, как связать сертификат с ELB с помощью интерфейса командной строки AWS:

aws elbv2 add-listener-certificates --listener-arn <listener-arn> --certificates CertificateArn=<certificate-arn>

Метод 4: проверка конфигурации набора записей Route 53
Дважды проверьте конфигурацию набора записей Route 53, чтобы убедиться, что он правильно указывает на ELB. Убедитесь, что для типа набора записей установлено значение «A» (псевдоним), а в качестве цели псевдонима установлено DNS-имя ELB. Вот пример настройки набора записей с помощью интерфейса командной строки AWS:

aws route53 change-resource-record-sets --hosted-zone-id <hosted-zone-id> --change-batch '{"Changes": [{"Action": "UPSERT", "ResourceRecordSet": {"Name": "<domain-name>", "Type": "A", "AliasTarget": {"HostedZoneId": "<elb-hosted-zone-id>", "DNSName": "<elb-dns-name>", "EvaluateTargetHealth": false}}}]}'

Следуя методам, описанным в этой статье, вы сможете устранить неполадки и устранить ошибку «Простой HTTP-запрос был отправлен на порт HTTPS» при настройке AWS Route 53 для указания на ELB. Не забудьте проверить настройки группы безопасности, проверить конфигурацию прослушивателя ELB, просмотреть настройки сертификата SSL и проверить конфигурацию набора записей Route 53.

Выполнение этих шагов поможет вам успешно настроить AWS Route 53 для указания на ELB, обеспечивая бесперебойную и безопасную связь между вашими приложениями и конечными пользователями.