HTTPS子域名不会redirect到非通配符证书

如何设置https://example.com正确地redirect到https://example.com

我目前的设置是这样的:

 http://example.com --> https://example.com http://subdomain.example.com --> https://example.com 

我有一个CNAMElogging,我的networking主机将* .example.com指向了example.com。

问题是我没有通配符证书,所以当用户尝试访问https://subdomain.example.com时 ,会遇到这个令人愉快的页面 。

这是我的configuration文件:

 <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为每个子域创build一个证书(假设成本是问题)。