2014-01-26 34 views
0

我正在使用ASP.Net MVC 4框架創建網站。我很難讓SSL與那個(或任何基本的)網站一起工作。帶SSL的IIS 7.5站點失敗,沒有SSL的站點工作

我爲該域名購買了SSL證書(我們只是稱其爲「example.com」)。我進入了IIS,併爲端口443配置了默認網站的https綁定。如果我打開該網站的非SSL版本,它就會起作用。 (在這種情況下,該網站是股票,基本的IIS起始頁面)。如果我嘗試通過https訪問該站點,則超時並且無法顯示該頁面。

我已經使用netsh驗證過端口443處於打開狀態,並且沒有任何其他端口正在偵聽。我仔細檢查過,以確保Windows防火牆允許端口443上的流量,並且是。如果我火了Wireshark的,並聽取了交通上的端口443,然後嘗試訪問該網頁時,我得到如下:

enter image description here

我不是一個專家在解釋這些結果,但它似乎那東西仍然阻塞出站連接。同樣,普通的http網頁加載正常,但同一頁面的https版本超時。

我在想我的智慧結束試圖弄清楚這一點。任何想法可能會發生在這裏?

回答

0

這需要一點挖掘,但我終於明白了。

默認情況下,阻止https訪問Amazon EC2實例。這就解釋了爲什麼我在IIS中做什麼並不重要,這是行不通的。這也可以解釋爲什麼有正確的綁定,在防火牆上打開正確的端口,以及我嘗試過的其他任何操作都無法正常工作。它必須與亞馬遜,以及他們如何配置他們的東西。

要在端口443啓用的交通,我做了以下內容:

  1. 在亞馬遜Web控制檯(https://console.aws.amazon.com/ec2),點擊左邊
  2. 安全組鏈接下的安全組您的實例上正在運行,請設置新的入站規則以允許來自任何IP的HTTPS流量。
  3. 設置新的出站規則以允許到任何IP的HTTPS流量。

不需要刪除/重新創建/重新啓動實例。一旦我應用了這些規則,我就試着在我的本地計算機上瀏覽https網站,並且它工作正常。

Steffen,謝謝你的幫助。

(相關:HTTPS setup in Amazon EC2

0

在通往服務器的途中阻塞了端口443上的連接或阻塞了響應。從wireshark屏幕截圖中可以看出,服務器和客戶端位於不同的網絡中,所以顯然至少有一個路由器,也可能是其他防火牆。您可以使用traceroute或tracepath檢查請求傳輸的距離(例如,在一次嘗試中指定端口80,在另一次嘗試中進行端口443比較)以及過濾設備的可能位置。

+0

只是踢,我暫時關閉了服務器上的防火牆。這似乎沒有效果。 –

+0

如果我嘗試在本地服務器上「telnet localhost 443」,我收到一條消息,指出'連接到本地主機...無法打開與主機的連接,端口:443:連接失敗'。這讓我覺得這是一些配置設置在服務器上的問題。 –

+0

哦,我希望你在發佈之前檢查服務器是否在本地運行。如果服務器沒有運行在端口443上,您將無法連接到它,當然:) –