2012-02-29 61 views
1

我目前正在制定一項策略,以便將我們的某些網站/ Web應用程序默認遷移到使用HTTPS。所有這些應用程序使用不同的主機頭,並託管在同一臺服務器上。有很多方法可以實現這一點,但最實際的方法似乎是爲每個唯一的主機頭使用不同的端口。使用自定義端口進行SSL

我的問題真的是:是如何共同運行一個自定義端口上的公共網站?這些請求在本地防火牆或公司代理級別被阻止的可能性有多大?

我曾經看到不少的這些在十年前,但他們似乎已經減少從那時起了,我很少看到使用自定義端口現在網站。

+0

投票移至ServerFault。 – Bruno 2012-02-29 12:23:04

回答

2

在企業防火牆和代理服務器上很可能會阻塞非標準端口。除了使用各種端口號,或者使用調查多個IP地址(在同一臺機器上,如果你喜歡),並在標準端口上提供你的服務443

+0

感謝您的意見,這就是我所害怕的。我有太多的域名爲它們分別獲取單獨的IP地址。你有任何鏈接或統計數據顯示HTTPS自定義端口是一個壞主意嗎?我一直在環顧四周,但無法找到任何支持或消除此解決方案的內容。 – mohdowais 2012-02-29 09:48:56

+0

也許你找不到任何東西,因爲沒有人使用它們。我無法想到在使用HTTP或HTTPS的非標準端口的公共互聯網上的*任何地方*。 – 2012-03-02 10:17:46

0

您可以使用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> 
+0

我對如何完成這項工作有一個好主意,但是無論如何感謝您的額外信息。我更關心使用自定義端口的實用性。 – mohdowais 2012-02-29 09:47:03

1

(您可能找到關於ServerFault更好的答案。)

防火牆通常用於限制互聯網對端口的子集使用,並因此經常被配置爲幾個端口儘可能。情況並非總是如此,並且很大程度上取決於環境,但很可能除了少數通常的端口(例如HTTP,HTTPS,POP3,IMAP,POP3S,IMAPS,SSH)以外的端口將被阻止。由於這個原因(通常用於開發的端口是8443,因爲你不需要在root系統上使用它),所以在它們的默認端口(通常是8443)上部署Java容器(例如Tomcat)通常是一個問題。

這同樣適用於HTTP代理服務器。我沒有任何統計信息,但可以查看默認配置。

For Squid

acl SSL_ports port 443 
http_access deny CONNECT !SSL_ports 

默認情況下,它只允許CONNECT(這是什麼用於代理HTTPS連接)端口443上

同樣,for TinyProxy

ConnectPort 443 
ConnectPort 563 

(並且我不會依賴端口563,通常用於HTTPS服務器,無論如何它都是用於NNTPS的。)

您的其他選項有:

  • 使用與多個主題備用名稱輸入該IP地址的單一證書(一個適用於您要爲每個主機名)。
  • 使用多個IP地址。
  • 使用Server Name Indication,雖然這不適用於Windows XP上的IE瀏覽器(以及少數移動客戶端,我認爲)的客戶端。
+0

感謝您的詳細解答。正如您所指出的那樣,大多數代理/防火牆都是非常緊密配置的,並且需要明確啓用端口。 SAN是一種選擇,但問題是每當我們添加一個新域(每年幾次)時,就必須重新生成新的證書。多個IP越來越難以掌握。由於我們必須支持基於XP的訪問者,所以SNI不存在問題。 – mohdowais 2012-02-29 13:10:06