Я пытаюсь настроить облачный фронт с моим экземпляром ec2. Домен находится в dreamhost, и я добавил запись CNAME, указывающую на URL-адрес облачного фронта.
Я использую Lets Encrypt на моем экземпляре EC2. Если я использую свой эластичный IP-адрес и устанавливаю его на запись A на хосте снов, он нормально пересылается, и все работает. Если я указываю запись CNAME на URL-адрес облачного фронта, я получаю ошибку 502.
Следуя руководству по устранению неполадок здесь , я проверил свой SSL-сертификат, используя онлайн-сервис, и он показывает, что все в порядке.
Чего мне не хватает? Нужно ли добавить URL-адрес облачного фронта в мой сертификат или как?
Кроме того, я указываю сертификат SSL дистрибутива на сертификат, размещенный в AWS Certificate Manager, который, как мне кажется, в конечном итоге указывает на мое происхождение. Я указал сертификат на свой URL и добавил запись CNAME, чтобы подтвердить право собственности, и все это, похоже, работало нормально.
UPDATE:
Я подключил свой общедоступный URL-адрес ec2 к онлайн-проверке ssl, и я получил следующий результат. Возможно, это может быть частью проблемы? Я получаю тот же результат, если ввожу свой эластичный IP. Кажется, что это может быть виновником, но я понятия не имею, каким будет следующий шаг. Вернуться к поиску в Google ..
ОБНОВЛЕНИЕ 2:
Из того, что я читаю, мне нужно убедиться, что промежуточный сертификат установлен на моем экземпляре ec2. Я также узнал, что в Apache 2.4 файл fullchain.pem заменяет старый файл cert.pem как SSLCertificateFile
.
Я изменил содержимое /etc/httpd/conf/httpd-le-ssl.conf так:
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName "test.example.com"
ServerAlias "test.example.com"
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/test.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/test.example.com/privkey.pem
</VirtualHost>
После изменения этого параметра и перезапуска службы httpd я все еще получаю сообщение об ошибке в своем URL. Когда я подключаю test.example.com к контроллеру SSL, он показывает это:
Имейте в виду, что первый снимок экрана, который я разместил, использовал мой эластичный IP-адрес, а не URL-адрес test.example.com, так что в действительности он не сопоставим. У меня, к сожалению, нет скриншота того, как выглядел test.example.com до того, как я внес изменения, но я все еще получаю ошибку 502, так что, видимо, ее не исправляют.
ОБНОВЛЕНИЕ 3:
Похоже, что мои заголовки ответов показывают server: CloudFront
, когда я перехожу на test.example.com, так что это шаг в правильном направлении. Я вообще этого не получал.
ОБНОВЛЕНИЕ 4:
Я скачал openssl и смог получить следующую информацию. Странно, что цепочка сертификатов даже не показывает, позволяет шифровать как источник сертификата.
Первоначально я настроил свой экземпляр EC2, используя сертификат letsencrypt, используя test.example.com. Затем, когда я создал дистрибутив облачного фронта, я использовал диспетчер сертификатов для создания сертификата, указывающего на мой test.example.com. Теперь я задаюсь вопросом, не настроил ли я это неправильно, так как вывод openssl показывает только сертификат amazon. Меня смущает взаимодействие между менеджером сертификатов и сертификатом let encrypt, который, похоже, указывает на один и тот же URL. тьфу.
Я думаю, мне нужно настроить балансировщик эластичной нагрузки и использовать сертификат из ACM в ELB. Тогда я думаю, мне больше не понадобится сертификат let encrypt на экземпляре EC2?