如何设置它以正确https://anything.example.com
重定向到https://example.com
?
我目前的设置是这样的:
http://example.com --> https://example.com
http://subdomain.example.com --> https://example.com
我的虚拟主机有一条 CNAME 记录,将 *.example.com 指向 example.com。
问题是我没有通配符证书,所以当用户尝试访问https://subdomain.example.com时,他们会看到这个令人愉快的页面。
这是我的配置文件:
<VirtualHost *:80>
ServerName example.com/
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /home/ssl.crt
SSLCertificateKeyFile /home/ssl.key
SSLCACertificateFile /home/intermediate.crt
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Options -Indexes
</Directory>
我在 Ubuntu 14.04 上运行 Apache2。我没有使用 .htaccess 文件。
如果没有通配符证书或子域证书,这是不可能的。不过,您可以使用Let's Encrypt为每个子域创建一个证书(假设成本是问题)。