我有一個Apache服務器設置爲偵聽端口80上的幾個域名和443兩個(至少這是我想要的)。 所以我有我的Virtualhost *:443與「my-ssl-domain.com」和「my-other-ssl-domain.com」ServerName。這兩個域也都有一個Virtualhost *:80,它使用mod_rewrite重定向到HTTPS版本。我使用讓我們加密他們兩個。使Apache不監聽某些域的端口443
我也有多個(> 10)其他域只能通過HTTP工作。
發生什麼事是,如果我去「https://www.my-non-ssl-domain.com」瀏覽器抱怨沒有有效的證書。谷歌似乎也索引該網頁,我想避免它,因爲它似乎是不好的搜索引擎優化。
我希望它301重定向「https://www.my-non-ssl-domain.com」到「http://www.my-non-ssl-domain.com」或至少根本不應答,就好像HTTPS的域根本不存在一樣。
我該如何解決這個問題?
然後不要使用'Virtualhost *:443',而是明確地指定一個主機名。 – CBroe
你是什麼意思?我沒有提到Apache在所有域(SSL和非SSL)上偵聽相同的IP地址。 – koichirose
如果你使用'*:443',那麼這個VirtualHost將被用作沒有顯式指定他們的「own」VH的所有主機名的後備。所以你需要使用像'Virtualhost somedomain.local:443'這樣的表示這個VH僅用於特定的域(加上ServerAliases),但不適用於每一個沒有顯式配置的傳入HTTPS請求。 – CBroe