HTTPS 子域名不会重定向非通配符证书

HTTPS 子域名不会重定向非通配符证书

我该如何设置它才能正确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 文件。

答案1

如果没有通配符证书或子域名证书,则无法实现这一点。您可以使用以下命令为每个子域名创建一个证书让我们加密不过(假设成本是问题所在)。

相关内容