Virtualhost

HTTPS 子域不重定向非萬用字元證書

  • June 10, 2016

如何設置它以正確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為每個子域創建一個證書(假設成本是問題)。

引用自:https://serverfault.com/questions/783116