我目前正在制定一項策略,以便將我們的某些網站/ Web應用程序默認遷移到使用HTTPS。所有這些應用程序使用不同的主機頭,並託管在同一臺服務器上。有很多方法可以實現這一點,但最實際的方法似乎是爲每個唯一的主機頭使用不同的端口。使用自定義端口進行SSL
我的問題真的是:是如何共同運行一個自定義端口上的公共網站?這些請求在本地防火牆或公司代理級別被阻止的可能性有多大?
我曾經看到不少的這些在十年前,但他們似乎已經減少從那時起了,我很少看到使用自定義端口現在網站。
我目前正在制定一項策略,以便將我們的某些網站/ Web應用程序默認遷移到使用HTTPS。所有這些應用程序使用不同的主機頭,並託管在同一臺服務器上。有很多方法可以實現這一點,但最實際的方法似乎是爲每個唯一的主機頭使用不同的端口。使用自定義端口進行SSL
我的問題真的是:是如何共同運行一個自定義端口上的公共網站?這些請求在本地防火牆或公司代理級別被阻止的可能性有多大?
我曾經看到不少的這些在十年前,但他們似乎已經減少從那時起了,我很少看到使用自定義端口現在網站。
在企業防火牆和代理服務器上很可能會阻塞非標準端口。除了使用各種端口號,或者使用調查多個IP地址(在同一臺機器上,如果你喜歡),並在標準端口上提供你的服務443
感謝您的意見,這就是我所害怕的。我有太多的域名爲它們分別獲取單獨的IP地址。你有任何鏈接或統計數據顯示HTTPS自定義端口是一個壞主意嗎?我一直在環顧四周,但無法找到任何支持或消除此解決方案的內容。 – mohdowais 2012-02-29 09:48:56
也許你找不到任何東西,因爲沒有人使用它們。我無法想到在使用HTTP或HTTPS的非標準端口的公共互聯網上的*任何地方*。 – 2012-03-02 10:17:46
您可以使用web.config文件,使其默認辦法。我發現另一個post about the port problem。
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
我對如何完成這項工作有一個好主意,但是無論如何感謝您的額外信息。我更關心使用自定義端口的實用性。 – mohdowais 2012-02-29 09:47:03
(您可能找到關於ServerFault更好的答案。)
防火牆通常用於限制互聯網對端口的子集使用,並因此經常被配置爲幾個端口儘可能。情況並非總是如此,並且很大程度上取決於環境,但很可能除了少數通常的端口(例如HTTP,HTTPS,POP3,IMAP,POP3S,IMAPS,SSH)以外的端口將被阻止。由於這個原因(通常用於開發的端口是8443,因爲你不需要在root系統上使用它),所以在它們的默認端口(通常是8443)上部署Java容器(例如Tomcat)通常是一個問題。
這同樣適用於HTTP代理服務器。我沒有任何統計信息,但可以查看默認配置。
acl SSL_ports port 443
http_access deny CONNECT !SSL_ports
默認情況下,它只允許CONNECT
(這是什麼用於代理HTTPS連接)端口443上
同樣,for TinyProxy:
ConnectPort 443
ConnectPort 563
(並且我不會依賴端口563,通常用於HTTPS服務器,無論如何它都是用於NNTPS的。)
您的其他選項有:
感謝您的詳細解答。正如您所指出的那樣,大多數代理/防火牆都是非常緊密配置的,並且需要明確啓用端口。 SAN是一種選擇,但問題是每當我們添加一個新域(每年幾次)時,就必須重新生成新的證書。多個IP越來越難以掌握。由於我們必須支持基於XP的訪問者,所以SNI不存在問題。 – mohdowais 2012-02-29 13:10:06
投票移至ServerFault。 – Bruno 2012-02-29 12:23:04