在 Apache2 中停用 SSL 回退或在沒有符合憑證的情況下重定向

在 Apache2 中停用 SSL 回退或在沒有符合憑證的情況下重定向

我的伺服器上有多個虛擬主機,假設我提供服務

www.example.com
sub.example.com
www.example.nl

在我的 DNS 配置中,所有內容都指向同一台伺服器。

在 apache2 配置中,有一個用於 http 的預設設定檔和一個用於 https 的預設設定文件,以及用於其他網站的附加虛擬主機。我希望所有接近匹配的內容都重定向到www.example.com.所有特定站點都有證書。

所以我的文件看起來像這樣

000-default.conf (redirects to https://www.example.com)
default-ssl.conf (serves https://www.example.com)
sub.example.com.conf (redirects to https://sub.example.com)
sub.example.com-ssl.conf (serves https://sub.example.com)
www.example.nl.conf (redirects to https://www.example.nl)
www.example.nl-ssl.conf (serves https://www.example.nl)

現在的問題是任何其他請求(例如 for be-creative.example.nl)預設為第一個載入的配置。這適用於 http(000-default將匹配和重定向),但不適用於 https,因為我沒有為be-creative.example.nl.因此我無法重定向,也無法提供有效的頁面。

如果我停用default-ssl.conf,則請求將被匹配sub.example.com-ssl.conf,並且仍然提供錯誤的證書。

問題:如何優雅地處理這些沒有憑證的請求?如何在沒有有效匹配憑證的情況下重定向到 http?

答案1

我如何在自己的伺服器(CentOS、Apache 2.4)上解決這個問題,方法是擁有一個帶有有效SSL 憑證(從Let's Encrypt 獲得免費憑證)的通用頁面(invalidssl.example.com),並將其設定在預設配置中。這樣,任何對非 ssl 網域的 https 請求都會顯示包含良好錯誤訊息的通用頁面。

回答你的問題:

向透過 https 請求頁面的訪客(無論是頁面還是轉發回應)提供內容而不觸發瀏覽器警告的唯一方法是使用所請求網域的有效 SSL 憑證進行回應。我個人認為你沒有理由遇到這個問題,因為現在免費的 SSL 憑證很容易取得(看看讓我們加密

相關內容