在 SSL 終止符後面的連接埠 443 上使用 Apache 提供 http 服務

在 SSL 終止符後面的連接埠 443 上使用 Apache 提供 http 服務

我們的網路操作人員已設定 SSL 終止,然後將請求反向代理給我們。他們的要求是,如果他們看到連接埠 443 上的輸入,我們必須在連接埠 443 上提供內容,因此我們在連接埠 443 上提供未加密的內容。

在大多數情況下,這不是問題。我們Listen 443不設定 SSL,一切正常,除了…重定向。

舉個例子,如果我們定義:

Alias /foo /path/to/foo
<Directory /path/to/foo>
    ...
</Directory>

Apache 夠聰明,可以將請求重新導向/foo/foo/.當我們在連接埠 80 上使用 http 時,效果很好。然而,當客戶端在連接埠 443 上使用 https 時,我們最終會得到Location如下所示的重定向:

Location: http://my.example.com:443/foo/

問題是我們不想從安全協議重定向到不安全協議,但這並不重要,因為我們不在連接埠 443 上提供不安全內容。

我猜想有更好的方法來告訴 Apache 這個請求最初是一個安全性請求,但我不太了解 Apache 配置。我希望不必為每個Directory條目手動建立重定向,特別是因為某些內容以安全和不安全的形式提供。

任何人都有任何可以提供幫助的文檔的指針(不幸的是,我無法想出正確的谷歌咒語來提供幫助)?處理這個問題的最佳方法的指針也受到讚賞。 :)

答案1

文件中描述了這種情況伺服器名稱

有時,伺服器會在處理 SSL 的裝置後面運行,例如反向代理、負載平衡器或 SSL 卸載設備。在這種情況下,請在 ServerName 指令中指定用戶端連線的 https:// 方案和連接埠號,以確保伺服器產生正確的自引用 URL。

如果您想執行此操作並同時保持連接埠 80 工作,則必須至少為其中一個使用 VirtualHost,以便您可以新增單獨的 ServerName。

相關內容