在 ASP.NET Core 中禁用HTTPS

在 ASP.NET Core 中禁用HTTPS

    • UseHttpsRedirection
    • Properties/launchSettings.json
    • 参考

点此查看原文

我们在VS中新建一个 ASP.NET Core 项目的时候,可以选择是否配置使用HTTPS。如果选中了“为HTTPS配置”这个选项,在开发环境中想要临时禁用HTTPS,只使用HTTP应该怎样做呢?

在 ASP.NET Core 中禁用HTTPS_第1张图片

在网上可能会找到很多通过在Program.cs文件中对Kestrel进行设置来禁用HTTPS的教程,或者是使用UseUrls()。如果我们只是需要在开发环境中禁用HTTPS,那么在设置Kestrel之前,首先检查两个位置,可能会让我们的工作更轻松。

UseHttpsRedirection

首先查看一下Startup.csConfigure方法中,是否配置了HTTPS重定向:

app.UseHttpsRedirection();

UseHttpsRedirection为我们的应用添加了重定向HTTP请求到HTTPS请求的中间件。如果想要使用HTTP,那么就注释掉这行代码。

Properties/launchSettings.json

在我们项目的Properties/launchSettings.json文件中,找到applicationUrl,类似如下代码:

...
"applicationUrl": "https://localhost:5001;http://localhost:5000",
...

https地址删除,只保留http

需要注意的是,通过 Visual Studio Code 或者 dotnet new 命令创建的项目,可能不会存在launchSettings.json文件,并且在发布项目的时候也不会将launchSettings.json文件包含进去,所以这种解决方案只对开发环境有效。

对于通过CLI来运行应用,也可以使用 --urls 参数来达到同样的效果。例如: dotnet run --urls=http://0.0.0.0:5000,https://0.0.0.0:5001。那么想要只使用HTTP,把命令中的https移除掉就好了。

参考

点此查看原文
原文首发于Chi Blog

ASP.NET Core 2.1 + Kestrel (How to disable HTTPS)

你可能感兴趣的:(Asp.Net,Core,.NET)