无法在http中启动asp.net debug

时间:2017-09-12 08:36:56

标签: visual-studio ssl

我有一个让我发疯的问题。 我有一个项目,我设置并启用了SSL(通过在应用程序属性中将SSL启用标志更改为true)

enter image description here

然后我将网络媒体资源中的项目网址更改为SSL网址(如上图所示)

enter image description here

最后,我在web.config中添加了重写规则:

<rewrite>
    <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            </conditions>
            <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}{REQUEST_URI}" />
        </rule>
    </rules>
</rewrite>

这一切都很好。我可以在新的HTTPS网址上调试我的应用程序。问题是现在我必须在HTTP上测试它,所以我改变了我的步骤。 首先,我注释掉了重写规则,然后我将Project Url更改回正常的http url并单击“Create Virtual Directory”。 最后我将“SSL Enabled”更改为false。

这就是问题所在。当我按F5时,我的浏览器使用普通的URL(正确的http),但它会重定向到https网址。我无法改变它,因为当我这样做只是重定向。 这让我很生气,因为没有规则(我能找到)重定向​​它。我甚至取消了我的重写规则并将其更改为:

<rewrite>
    <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            </conditions>
            <action type="Redirect" redirectType="Permanent" url="http://{HTTP_HOST}{REQUEST_URI}" />
        </rule>
    </rules>
</rewrite>

要使用http网址,但不会。 有人可以帮帮我吗?!?

1 个答案:

答案 0 :(得分:0)

最后,这非常直截了当。我注释掉了重写规则,然后在项目属性中,只需将覆盖应用程序根URL 设置为http url,同时将项目URL 保留为https版本。