Приложение перенаправляет балансировщик нагрузки - PullRequest
0 голосов
/ 30 октября 2019

У меня есть экземпляр EC2, на котором размещен веб-сайт, работающий в IIS. Я также настроил AWS Application Load Balancer с прослушивателем HTTPS, в который я добавил SSL-сертификат моего веб-сайта (хранится в AWS Certificate Manager). Слушатель HTTPS перенаправляет трафик моей целевой группе, которая, в свою очередь, указывает на мой экземпляр EC2. Экземпляр EC2 использует группу безопасности, чтобы разрешить трафик только от балансировщика нагрузки.

Во-первых, я прав, полагая, что балансировщик нагрузки приложения расшифровывает трафик SSL, и в результате он перенаправляется в целевую группу. с использованием HTTP (другими словами, группа безопасности моего экземпляра EC2 должна принимать только HTTP-трафик от балансировщика нагрузки, и я могу удалить свой сертификат SSL из IIS)?

Во-вторых, основная проблема, с которой я сталкиваюсь вмомент в том, что у сайта есть относительные пути к некоторым ресурсам (CSS, JavaScript и т. д.). В результате я получаю смешанные ошибки содержимого в моей консоли Firefox, когда я просматриваю сайт. Я настроил прослушиватель HTTP в своем балансировщике нагрузки для перенаправления трафика на HTTPS, но, похоже, это не работает для относительных путей.

Я не особенно хочу редактировать сайт, чтобы изменить относительные пути к полностью определенным URL-адресам HTTPS, поскольку это очень сложная система управления контентом. Кроме того, перед использованием балансировщика нагрузки сайт отлично обслуживал контент (запись DNS указывала на публичный IP-адрес моего экземпляра EC2, и в IIS существовало правило перезаписи для обработки трафика, отличного от HTTPS).

Любой совет будетс благодарностью.

Ответы [ 3 ]

0 голосов
/ 30 октября 2019

Откройте ваш браузер и нажмите на вкладку «Сеть» и убедитесь, что эти вызовы идут в другое место, где используется HTTP, это исходящий вызов из вашего приложения, и перенаправление не решит эту проблему. см. скриншот

enter image description here

Похоже, такая же ошибка в вашем случае, вы обслуживаете изображения с какой-то другой стороны, а не с EC2, это означает, что те запросы, которыеПредполагается, что сервер EC2 ответит, будет работать нормально, но те, которые ваш код пытается извлечь из JS-файла или других ресурсов, являются исходящими вызовами, и это не имеет ничего общего с правилом перенаправления LB.

Лучше обновить приложение ивсе URL-адреса https.

Когда пользователь заходит на страницу, обслуживаемую по HTTPS, его соединение с веб-сервером шифруется с помощью TLS и, следовательно, защищено от большинства снифферов и посредников. атаки. Страница HTTPS, которая включает содержимое, извлеченное с использованием открытого текста HTTP, называется страницей со смешанным содержимым. Страницы, подобные этой, шифруются лишь частично, оставляя незашифрованный контент доступным для снифферов и злоумышленников. Это оставляет страницы небезопасными.

enter image description here

0 голосов
/ 30 октября 2019

Спасибо за ответы. Мне удалось докопаться до второго номера. У web.config сайта было правило переписывания, которое заставляло URL-адреса строчными (что-то связанное с SEO). Это вызывало проблемы при обслуживании файлов CSS и JS. Я внес необходимые изменения в это правило, и теперь оно работает (см. URL-адреса модуля перезаписи URL-адреса IIS в нижний регистр).

Для первого выпуска сертификаты SSL не нужно устанавливать в IISвеб-сервер - они требуются только в AWS Certificate Manager, а затем назначаются на балансировщик нагрузки, который, в свою очередь, имеет 2 прослушивателя - один для перенаправления трафика HTTPS в мою целевую группу и один для перенаправления трафика HTTP в HTTPS.

Мой сайт IIS теперь имеет только HTTP-привязки и принимает только HTTP-трафик от Load Balancer.

Кажется, все работает!

0 голосов
/ 30 октября 2019

Для вашего первого запроса, я думаю, да. Вы можете удалить мой сертификат SSL из IIS и указать группу безопасности экземпляра EC2, чтобы принимать HTTP-трафик от балансировщика нагрузки.

Если вас беспокоит проблема относительного пути, перейдите по этой ссылке: После введения ALB произошла ошибка смешанного содержимого

Я думаю, это будет полезно.

...