Что я сделал до сих пор:
- Я загрузил свое приложение Laravel в Elastic Beanstalk
- Я купил доменное имя на namecheap:
domain.net
- Я установил хостинговую зону для domain.net на Route 53
- Я ввел информацию NS из Hosted Zone в разделе моего домена на namecheap
- Я получил сертификат от диспетчера сертификатов и связанный
domain.net
, я получил второй сертификат для*.domain.net
- Я создал запись CNAME для сертификата в размещенной зоне (см. Рисунок ниже)
- Я создал раздачу CloudFront, в поле Origin Domain Name поместил URL-адрес Elastic Beanstalk, выбрал Redirect HTTP to HTTPS, ввел
domain.net
unter Alternate Domain Names и выбрал сертификат SSL дляdomain.net
- Я повторил предыдущий шаг для
*.domain.net
- Затем в размещенных зонах я создал запись псевдонима для
domain.net
, указывающую на раздачу CloudFront дляdomain.net
, и другую запись псевдонима для*.domain.net
, указывающую на соответствующий дистрибутив CloudFront (см. Рисунок ниже).
Вопрос
Я зашел на сайт и получил SSL-соединение для domain.net
и www.domain.net
, даже перенаправление с HTTP на HTTPS работает. Но когда я нажимаю ссылку в меню навигации, например, как «О программе», я получаю страницу НЕ domain.net/about
, а http://myenvironment-env.eba-zxsw5igy.us-east-1.elasticbeanstalk.com/about
с небезопасным подключением. Однако, когда я ввожу URL-адрес вручную в браузере, например, domain.net/about
, я получаю правильный URL-адрес. Что я сделал не так?
Вот обзор записей из размещенной зоны.
Обновлять
Настройка Route 53 с тем же кодом приложения Laravel на Elastic Beanstalk без SSL (+ CloudFront) работает нормально. Я могу получить доступ к любым ссылкам на веб-сайте, они правильно разрешаются на domain.net/about
и т. Д.
Может я неправильно подключаю CloudFront к Elastic Beanstalk? Опять же, вот что я делаю в дистрибутиве CloudFront: в разделе «Имя домена источника» помещаю URL-адрес Elastic Beanstalk, выбираю «Перенаправить HTTP на HTTPS», ввожу domain.net
unter Alternate Domain Names и выбираю сертификат SSL для domain.net