Назад | Перейти на главную страницу

AWS Load Balancer Https, прослушивающий EC2 по http

Мой веб-сайт работает в экземпляре EC2, Apache2 прослушивает 80.

Поскольку он должен использовать https, я настроил AWS Load Balancer. Добавлен сертификат ACM в балансировщик нагрузки.

Добавлен dns балансировщика нагрузки в псевдоним домена в Route53.

И балансировщик нагрузки прослушивает 443 и перенаправляет на 80 инстанса EC2.

Настроена группа безопасности EC2 для приема подключений только от группы безопасности ELB через порт 80.

Теперь проблема в том, что когда я захожу на свой сайт, он показывает контент без js и css.

Сказать: «Эта страница пытается загрузить скрипты из неаутентифицированных источников».

Эти скрипты и таблицы стилей находятся в экземпляре EC2.

Как правильно сделать, чтобы все скрипты, таблицы стилей, изображения загружались через https?

Это проблема приложения, а не сервера, если вы хотите, чтобы ELB отключал SSL.

Он завершил ssl на ELB и возвращает http на веб-сервер. Итак, ваше приложение видит нормальный HTTP-трафик. ELB добавляет специальный заголовок к трафику, чтобы все, что находится за ним, знали, что трафик был SSL, на случай, если он захочет отправить обратно такие вещи, как return links / js / css / images с https: //

Он отправляет следующий заголовок обратно

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto

Ваше приложение должно быть достаточно умным, чтобы сказать: "Хорошо, это https" ИЛИ этот заголовок установлен так, что его ssl .. если не http.