Настройка SSL-сертификата в экземпляре EC2
Мне сложно установить SSL-сертификат (это Comodo PositiveSSL, созданный из NameCheap) на моем экземпляре EC2 micro (я использую Amazon Linux AMI 2012.3, который основан на CentOS, если я не ошибаюсь).
Вот что я сделал:
-
Я установил mod_ssl и OpenSSL
-
Я включил порт 443 в моей группе безопасности экземпляра EC2
-
Я CHMODed *.key и *.crt файлы на 777, как предложил Comodo
-
Я уверен, что правильный путь IP-адресов и файлов (поместите кучу
0s в примере, но верен в моем ssl.conf)
-
Я добавил эту запись VirtualHost в ssl.conf
<VirtualHost 00.000.000.00:443>
############# I tried both with & without this section ##############
ServerName www.mydomain.com:443
ServerAlias www.mydomain.com
DocumentRoot /var/www
ServerAdmin [email protected]
######################################################################
SSLEngine on
SSLCertificateKeyFile /etc/ssl/mydomain_com.key
SSLCertificateFile /etc/ssl/mydomain_com.crt
SSLCertificateChainFile /etc/ssl/mydomain_com.ca-bundle
</VirtualHost>
Затем я перезапустил apache... но я stil не могу получить доступ к https://www.mydomain.com/!!!
Я проверил с ssltool.com, он говорит
The Common Name on the certificate is: ip-00-00-00-000
The certificate chain consists of:
SomeOrganization, ip-00-00-00-000. Expires on: Apr 10 13:39:41 2013 GMT - that 363 days from today.
The site tested mydomain.com is NOT the same as the Subject CN ip-00-00-00-000!.
Я даже пошел и скопировал VistualHost в httpd.conf вместо ssl.conf и перезапустил apache, все зря.
Я уже несколько дней стуча головой о стену. Я почти уверен, что мне не хватает крошечного что-то сделать для этой работы, я просто не знаю, что именно.
Я был бы бесконечно благодарен, если кто-то может предложить что-то сделать эту работу!
Ответы
Ответ 1
Иногда этот раздел
<VirtualHost _default_:443>
запрещает использовать настоящий сертификат SSL. Если это так, либо комментируйте VirtualHost по умолчанию, либо переместите для него атрибуты SSLCertificate *, т.е.
<VirtualHost _default_:443>
SSLCertificateKeyFile /etc/ssl/mydomain_com.key
SSLCertificateFile /etc/ssl/mydomain_com.crt
SSLCertificateChainFile /etc/ssl/mydomain_com.ca-bundle
</VirtualHost>
После этого перезапустите apache.
Ответ 2
Amazon теперь предоставляет менеджер сертификатов! (бесплатно)
Если вы используете Elastic Beanstalk, это новый способ:
Это бесплатно, вы избегаете ошибок из-за конфигурации, и это лучший выбор в точке производительности vue:
Поскольку ELB поддерживает разгрузку SSL, развертывание сертификата на нагрузку балансировщик (а не экземпляры EC2 позади него) уменьшит количество операций шифрования и дешифрования, которые должны ручка.
из документа:
Новый AWS Certificate Manager (ACM) предназначен для упрощения и автоматизировать многие из задач, традиционно связанных с управлением Сертификаты SSL/TLS. ACM заботится о сложности, предоставление, развертывание и обновление цифровых сертификатов! Сертификаты, предоставленные ACM, подтверждаются сертификатом Amazons (CA), Amazon Trust Services (ATS).
Даже лучше, вы можете сделать все это без каких-либо дополнительных затрат. SSL/TLS сертификаты, предоставляемые через AWS Certificate Manager, бесплатны!
ACM позволит вам начать использовать SSL за считанные минуты. После ваш запрос сертификата, вы можете развернуть его на свою эластичную нагрузку Balancers и ваши дистрибутивы Amazon CloudFront с несколькими щелчки. После этого ACM может позаботиться о периодических продлениях без любые действия с вашей стороны.
документ:
https://aws.amazon.com/fr/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/
Ответ 3
Посмотрев на свой список, вы забываете включить свою конфигурацию с помощью своего виртуального хоста.
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo /etc/init.d/apache2 restart
Существует полное руководство по установке SSL-сертификата на вашем EC2 здесь https://medium.com/@adnanxteam/how-to-add-ssl-certificate-to-laravel-on-ec2-aws-18104cc036d1