У меня есть сертификат подстановки от Let's Encrypt для веб-сайта (* .storyfortwo.com).
Когда я иду в http://storyfortwo.com или http://www.storyfortwo.com (без SSL) они оба перенаправляются на https://www.storyfortwo.com и он загружается правильно.
На https://www.storyfortwo.com (с WWW) тоже все хорошо.
Когда я иду в https://storyfortwo.com (без WWW), это дает мне ошибку ERR_CERT_COMMON_NAME_INVALID.
Я использую Apache2 (2.4.29) с файлами VirtualHost:
<VirtualHost *:80>
ServerName storyfortwo.com
ServerAlias www.storyfortwo.com
DocumentRoot /var/www/storyfortwo.com/www
# Redirect Requests to SSL
Redirect permanent / https://www.storyfortwo.com/
</VirtualHost>
и
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName storyfortwo.com
ServerAlias www.storyfortwo.com
DocumentRoot /var/www/storyfortwo.com/www
ErrorLog ${APACHE_LOG_DIR}/storyfortwo.com.error.log
CustomLog ${APACHE_LOG_DIR}/storyfortwo.com.access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/storyfortwo.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/storyfortwo.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/storyfortwo.com/chain.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /var/www/storyfortwo.com/www>
SSLOptions +StdEnvVars
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
</IfModule>
Что я делаю не так?
*.example.com
не совпадает example.com
. Вам нужен сертификат с вашим пустым доменом в качестве CN, что является обычным для подстановочных знаков, или в качестве SAN (альтернативное имя субъекта).
У вас есть домен storyfortwo.com
добавили в сертификат? Без этого storyfortwo.com
не соответствует подстановочному знаку *.storyfortwo.com
в сертификате.