我创建了一个asp.net 4.0项目。我想为它启用SSL。我是否需要将此Web项目映射到IIS中的新网站。当我尝试创建一个新网站时,我得到:
绑定'*: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 .... 我对asp.net中的SSL完全不熟悉。请建议解决此问题。
答案 0 :(得分:2)
虽然可以配置主机标头来执行您所需的操作,但最简单的方法是使用不同的IP地址配置新网站。
将新IP地址添加到服务器,然后将新站点的绑定设置为端口80和443上的新IP地址。将应用程序池设置为使用.NET 4运行,然后您可以添加一个很好的触摸一个URLRewrite规则,通过将其粘贴到web.config中来将所有非SSL流量推送到HTTPS:
<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
选项即可。
答案 1 :(得分:1)
听起来您已经在端口80上设置了站点。您的IIS可能具有默认网站设置。如果您没有使用该网站,可以在遵循Scott Guthrie博客文章中的步骤之前将其删除,这样可以解决问题。
如果您使用默认网站,请在创建新网站时将其更改为81。您可以在Scott Guthrie的博客文章中更改第二张图片所示屏幕中的端口。
如果您想阻止任何非ssl流量到达您的新网站,您应该在完成所有设置后删除端口80(或81)上的绑定。
答案 2 :(得分:0)
要使用SSL,您必须:
您无法使用主机标头在IIS中托管单独的网站并使用SSL。
查看此文章以获取更多帮助:
http://learn.iis.net/page.aspx/144/how-to-set-up-ssl-on-iis-7/