2011-05-04 111 views
0

我已經創建了一個asp.net 4.0項目。我想爲它啓用SSL。我是否需要將此Web項目映射到IIS中的新網站?當我嘗試創建新網站時,我得到:在asp.net 4.0和IIS 7.5中啓用SSL

將綁定「*:80:」分配給另一個站點。如果您爲該網站分配相同的綁定,則只能啓動其中一個網站。你確定要添加這個重複的綁定嗎?

我試圖遵循以下職位:

http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx 

http://mscrm4humans.wordpress.com/2010/06/24/enabling-ssl-on-iis-7-0-using-self-signed-certificates/ 

我的IIS是7.5.7600 .... 我完全新的SSL在asp.net。請爲這個問題提出解決方案。

回答

2

儘管可以配置主機頭來完成您的工作,但簡單的方法是使用不同的IP地址配置新站點。

將新的IP地址添加到服務器,然後將新站點的綁定設置爲端口80和443上的新IP地址。將應用程序池設置爲使用.NET 4運行,然後進行良好的觸摸添加URLRewrite規則應用到所有非SSL流量推到HTTPS在你的web.config堅持這一點:

<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="SeeOther" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

或者,如果你想強制SSL則只需選中在IIS站點的Force SSL選項。

+0

此規則不包括目錄 http://localhost/myapp/Test.aspx重定向到http://localhost/Test.aspx 請幫忙,如何讓它包含目錄? – samir105 2012-05-07 07:53:58

0

要使用SSL,您必須:

  • 有一個單獨的網站在IIS
  • 本網站必須將端口443

不能使用主機綁定一個獨立的IP地址頭文件在IIS中託管獨立的網站並使用SSL。

檢查這篇文章更多的幫助:

http://learn.iis.net/page.aspx/144/how-to-set-up-ssl-on-iis-7/

+1

這只是通過IIS管理界面。可以配置主機頭來執行此操作:http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html – 2011-05-04 13:44:18

+0

非常感謝您的鏈接! – 2011-05-04 14:22:38

+0

恩,沒有。鏈接的文章是有用的,但你的答案表明缺乏理解。您不需要單獨的IP地址(或主機名),而'443'只是標準/默認端口。例如,你可以使用端口'5555'並做如下請求:'https:// hostname:5555/appname'你發佈的鏈接沒有提到單獨的IP地址。我認爲你對創建一個單獨的「網站」的需求感到困惑;網站被綁定到特定的端口。否則,如果兩個網站都處於活動狀態並且在同一個主機和端口上偵聽,那麼對該主機:端口(又名「套接字」)的請求將不明確。 – nothingisnecessary 2016-02-05 00:56:05

1

這聽起來像你已經在端口80上你的IIS可能有一個默認Web站點設置一個站點設置。如果您不使用該網站,則可以先刪除它,然後再按照Scott Guthrie的博客文章中的步驟進行操作,並且應該清除問題。

如果您使用的是默認網站,請在創建新網站時將其端口更改爲81。您可以在Scott Guthrie的博客文章中的第二張圖片所示的屏幕中更改端口。

如果您想阻止任何非SSL流量到達您的新站點,則應在完成一切設置後刪除端口80(或81)上的綁定。