我为以下域= *.example.com
购买了通配符
我的网站URL是= https://sub.example.com
我通过apache2 VirtualHosts这样配置了重定向(将“ http”强制为“ https”,将“ www”强制为“ no-www”)=
<VirtualHost *:80>
ServerName sub.example.com
ServerAlias www.sub.example.com
ServerAdmin webmaster@example.com
# Redirect 301 to HTTPS
Redirect permanent / https://sub.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName sub.example.com
ServerAlias www.sub.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/example
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Redirect www to no-www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# TLS
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/wildcard.crt
SSLCertificateKeyFile /etc/apache2/ssl/wildcard.key
SSLCertificateChainFile /etc/apache2/ssl/digicert.pem
Header always set Strict-Transport-Security "max-age=15768000"
</VirtualHost>
对于HTTP(80)请求,重定向工作正常=
http://sub.example.com
至https://sub.example.com
==> 作品 http://www.sub.example.com
至https://sub.example.com
==> 作品 但不适用于带有“ www”的https(443)请求=
https://www.sub.example.com
至https://sub.example.com
==> 错误 浏览器返回以下错误= NET :: ERR_CERT_COMMON_NAME_INVALID
在研究过程中,我发现有些人遇到相同的问题,提供的解决方案是使用通配符覆盖“ www”部分。
这是我的情况,我有一个通配符。
有人可以告诉我为什么会出现这个错误吗?
答案 0 :(得分:0)
好的,因此似乎不可能使它与通配符一起使用。我找到了另一个主题的答案,这里= https://stackoverflow.com/a/9743652/5903520