Я пытаюсь настроить облачный интерфейс с помощью своего экземпляра ec2. Домен находится на Dreamhost, и я добавил запись CNAME, указывающую на URL-адрес облачного интерфейса.
Я использую Lets Encrypt на своем экземпляре EC2. Если я использую свой эластичный IP-адрес и устанавливаю для него запись A на Dreamhost, он пересылается нормально, и все работает. Если я указываю запись CNAME на URL-адрес облачного интерфейса, я получаю ошибку 502.
Следуя руководству по устранению неполадок, которое здесь, Я проверил свой сертификат SSL с помощью онлайн-сервиса, и он показывает, что все в порядке.
Что мне не хватает? Нужно ли добавлять URL-адрес облачного интерфейса в мой сертификат или как?
Кроме того, я указываю сертификат SSL дистрибутива на сертификат, размещенный в AWS Certificate Manager, который, как мне кажется, в конечном итоге указывает на мое происхождение. Я указал сертификат на свой URL-адрес и добавил запись CNAME, чтобы подтвердить право собственности, и все это, похоже, работало нормально.
ОБНОВЛЕНИЕ:
Я подключил свой общедоступный URL-адрес ec2 к онлайн-проверке SSL и получил результат ниже. Возможно, это могло быть частью проблемы? Я получаю тот же результат, если ввожу свой эластичный IP. Похоже, что это могло быть виновником, но я понятия не имею, что делать дальше. Вернемся к гуглю ..
ОБНОВЛЕНИЕ 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. Меня смущает взаимодействие между диспетчером сертификатов и возможностью шифрования сертификата, который, похоже, указывает на один и тот же URL-адрес. фу.
Я думаю, мне придется настроить эластичный балансировщик нагрузки и использовать сертификат ACM в ELB. Тогда я думаю, мне больше не понадобятся сертификаты Let's encrypt cert на экземпляре EC2?
ec2-x-x-x-x.*.amazonaws.com
адрес или что-то еще? - person Michael - sqlbot   schedule 05.11.2018Host
для пересылки в источник. Подождите не менее 5 минут, затем повторите попытку. - person Michael - sqlbot   schedule 05.11.2018/var/log/nginx
. Заголовки ответов, которые видит браузер, должны включатьVia: ... cloudfront
иX-Cache: ... CloudFront
. - person Michael - sqlbot   schedule 05.11.2018origin.example.com
. Укажите EC2 в DNS. Настройте новый сертификат Lets Encrypt с этим новым именем. Убедитесь, что работаете с вашим браузером. Настройте это как исходное доменное имя в CloudFronr. - person Michael - sqlbot   schedule 07.11.2018