2015-02-13 2 views
8

У меня есть балансировщик нагрузки спереди в экземпляре ec2-Classic. Я проверил, что балансировщик нагрузки работает правильно, напрямую связавшись с именем DNS-имени, указанным на вкладке «Описание» для моего балансировщика нагрузки. Это дает мне основную страницу веб-страницы, которая находится на экземпляре EC2. Таким образом, мой балансировщик работает. Мой балансировщик нагрузки и мой экземпляр EC2 находятся в одной и той же зоне доступности.Не удается получить работу https на балансировщике эластичных нагрузок (AWS)

Мой балансировщик нагрузки установил SSL-сертификат, и у меня есть две настройки для отправки http (порт 80) и https (порт 443) в порт 80 экземпляра в качестве http. Мой экземпляр EC2 имеет группу безопасности, которая принимает HTTP и https с протоколом TCP на портах 80 и 443 соответственно. Хотя я понимаю, что только порт 80 будет полезен, не так ли? Данные для сертификата указаны в формате pem. Я добавил в группу безопасности экземпляра пользовательский TCP в диапазоне портов 0 - 65535 для amazon-elb/amazon-elb-sg. Это ничего не делало.

Я могу получить доступ к своему сайту, используя http просто отлично. Если я попытаюсь получить доступ с помощью https, я получу код ошибки: ERR_CONNECTION_REFUSED в Chrome и не удается подключиться к Firefox.

Я проверил подобные сообщения по этому вопросу, и ничего не помогает.

Любая помощь или идеи были бы весьма признательны. Спасибо

+0

Вы когда-нибудь это выясняли? У меня такая же проблема. – NathanW

ответ

-1

В вашем описании я вижу, что, возможно, вы не следуете шагу 6 из «Упругого баланса нагрузки Amazon» в Amazon EC2-Classic -> Создайте балансировщик нагрузки HTTPS/SSL Использование руководства AWS Management Console -> Configure Listeners ".

Там говорится, что вы должны настроить «HTTPS (...) в протоколе балансировки нагрузки [и] HTTPS (Secure HTTP) (...) в поле« Протокол экземпляра »», тогда как в вашей конфигурации вы пересылают 443 ELB в порт 80 в этом случае.

Для дальнейшей ссылки, это руководство, которое я говорю о http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/configure-https-listener.html

Кроме того, проверьте, если ваш сертификат SSL хорошо построен в соответствии с правилами, указанными здесь: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html

+1

Я считаю, что ваш гид предназначен, если хотите иметь аутентификацию на внутреннем сервере. Я пытаюсь проверить подлинность SSL на балансировщике нагрузки. Я понимаю, что он затем обменивается данными с экземпляром через http на порту 80, верно? – cafman

+0

Нет, трафик HTTPS, полученный в LB, будет передаваться в экземпляр как HTTPS. Таким образом, вы не можете указать на порт 80, который вы указали до 443, как говорится в руководстве. Вы пытаетесь добиться некоторой настройки производительности ?. Проверка SSL по-прежнему будет выполняться на LB –

+0

. Вы могли установить ELB с помощью HTTPS? –

7

Вы убедились, что ELB находится в группе безопасности, которая позволяет https на порту 443?

+0

В документации, которую я могу найти, упоминается, как бороться с этим для EC2 в VPC. Я не уверен, как проверить детали исходной группы безопасности (или отредактировать их) для балансировщика нагрузки в EC2-Classic. На вкладке моего балансира нагрузки он читает «Source Security Group amazon-elb/amazon-elb-sg». Единственными группами безопасности, которые я, кажется, могу редактировать/читать, являются группы безопасности экземпляров. – cafman

+1

@bytesandwich Спасибо, у меня был только порт 80 на входящих правилах балансировки нагрузки. Полностью пропустил этот бит. Добавлено 443, и все работает нормально. Балансер нагрузки принимает 443, и он разговаривает с экземплярами на порту 80. Я считаю, что это и был исходный вопрос. – MrVentzi

Смежные вопросы