修改ASP.NET应用程序以通过HTTP而非HTTPS运行

修改ASP.NET应用程序以通过HTTP而非HTTPS运行

问题描述:

只是为了说明这一点:我知道这是一个可怕的想法,但请相信我。如果我在其他位置,我会避免这样做。修改ASP.NET应用程序以通过HTTP而非HTTPS运行

我有一个在Visual Studio中构建的应用程序,该应用程序在HTTPS端口44300上使用IIS。我正在使用HTTP替换一些HTTPS API请求。 Chrome会阻止这些具有混合内容错误的请求。我看过other questions,提到了同样的事情,所有人都想出了不应该在生产中使用的黑客答案。

由于我没有机会让API切换到HTTPS,我正在修改我的应用程序以在HTTP上运行。

我这样做的尝试是修改项目的属性。 (项目 - >属性 - > Web - >服务器)。 Editing the project

你可以看到,我有项目URL设置为使用HTTPS

当我更改网址是http://localhost:44300应用程序启动时我在https://localhost/尽管这不是配置,并告诉我,本地主机能不能达成。没什么大不了的,我手动更改网址为http://localhost:44300,它将我发送回https://localhost/。当我离开港口时,只需手动输入http://localhost即可获得404页面。

我也尝试在项目属性页面中将端口设置为80。当我删除S时,我会自动重定向到https://localhost

该应用程序是使用ASP.NET构建的。

是否有一些明显的问题,我没有看到与IIS和端口?或者,这是我的应用程序构建方式的问题?在这种情况下,这是一个糟糕的问题。

+0

你也安装了IIS正常?它可能会重定向到https:// localhost – Mitta

+0

以下[这些步骤](https://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx)_in reverse_可能会帮助 – stuartd

+0

@Mitta我相信它随计算机一起安装。我可以尝试重新安装它。 – fstylermiller

它结束了与我的应用程序被配置方式的问题。

此行是罪魁祸首:

filters.Add(new RequireHttpsAttribute()); 

检查你的web.config包括以下行

<httpRedirect enabled="true" destination="https://localhost" /> 

UrlRewrite配置

<action type="Redirect" url="http://example.com/{R:1}" /> 

它还可能在案件与HTST和Chrome做你使用Chrome 。看到这个答案

Google Chrome redirecting localhost to https

+0

Web.config没有这两个,并且该答案没有解决问题,但感谢您的努力。 – fstylermiller