我为以下域= *.example.com购买了一个通配符
我的网站网址是= 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 to https://sub.example.com ==> WORKShttp://www.sub.example.com to https://sub.example.com ==> WORKS但不适用于带有"www“=的https (443)请求。
https://www.sub.example.com to https://sub.example.com ==> ERROR浏览器返回以下错误= NET::ERR_CERT_COMMON_NAME_INVALID
在我的研究中,我发现有些人遇到了同样的问题,而提供的解决方案就是用通配符来覆盖"www“部分。
这是我的案子我有个通配符。
有人能告诉我为什么我会犯这个错误吗?
发布于 2019-12-09 17:07:35
好的,所以似乎不可能让它与通配符一起工作。我在另一个话题上找到了答案,这里= https://stackoverflow.com/a/9743652/5903520
https://stackoverflow.com/questions/59247879
复制相似问题