Apache:2 個 SSL 證書,相同的 DocumentRoot
我已經配置了我的站點
apache
,現在我正在嘗試正確設置重定向。我的網站使用萬用字元 SSL 認證,我的 ssl 證書涵蓋 *.mydomain.com。我的證書提供者僅涵蓋一級子域。我的站點 URL 是https://level1.mydomain.com,但我想將訪問 https://www.level1.mydomain.com 的使用者重定向到https://level1.mydomain.com。我設置了從 www.level1 到 level1 的重定向,但是當我在瀏覽器上鍵入https://www.level1.mydomain.com時,我得到了
This server could not prove that it is www.level1.mydomain.com; its security certificate is from *.mydomain.com. This may be caused by a misconfiguration or an attacker intercepting your connection.
據我了解,原因是 www.level1 是一個 level2 子域,而我的萬用字元不包括這一點。
我需要做什麼?為 www.level1 購買另一個證書?如果是,我應該如何配置虛擬主機,使兩個證書都指向同一個 DocumentRoot 文件夾?
謝謝你。
AFAIK,如果您只是輸入
進入您的瀏覽器地址欄,您在埠 80 http 協議上請求 mydomain.com 網路伺服器。對於 http,您不需要證書。
如果你輸入
您在需要證書的埠 443 / https 上詢問。
如果你輸入
level1.mydomain.com
並且僅將您的網路伺服器配置為與 https/443 一起使用,您將收到一條錯誤消息,網路伺服器未偵聽埠 80(502 網關錯誤 - 或其他)。
您需要為所有在埠 80/http 上偵聽到 https 的域/虛擬主機添加重定向/重寫。這很容易 - 不需要證書 -
像這樣(未經測試)
<VirtualHost *:80> ServerName level1.mydomain.com Redirect / https://level1.mydomain.com </VirtualHost> <VirtualHost *:80> ServerName www.level1.mydomain.com Redirect / https://level1.mydomain.com </VirtualHost>
對於所有輸入的使用者
您需要為此 sub.sub.domain 購買額外的證書或獲得免費的letsencrypt.org 證書,以進行重定向。也許不值得麻煩。
順便說一句,添加第二個虛擬主機指向同一個 DocumentRoot 可以用於純 HTML 頁面,但不適用於應用程序。我會選擇重定向。
關於重定向/重寫的教程
https://www.tecmint.com/redirect-http-to-https-on-apache/
關於letsencrypt