【问题标题】:why my web api is working on https not http in C#为什么我的 web api 在 C# 中使用 https 而不是 http
【发布时间】:2021-03-30 08:28:44
【问题描述】:

我在 .net 框架中创建了一个项目,它在 https://localhost:44309/api/office 上运行良好,但在 http://localhost:44309/api/office 上出现以下错误

GET http://localhost:44309/api/Office
Error: read ECONNRESET

【问题讨论】:

  • 你不能在同一个端口上做 HTTPS 和 HTTP。您需要将 Web 服务器配置为使用不同的 HTTP 端口。您会收到错误消息,因为浏览器不需要协商安全连接。
  • HTTP 和 HTTPS 不在同一个端口上提供服务。
  • 在 Visual Studio 中,443nn 端口用于 SSL。将有另一个非 SSL 端口,通常类似于 56614,您可以在项目属性 > 调试中找到。
  • 你不应该使用 HTTP !!!如果服务器是 HTTPS,那么应用程序应该是安全的并且只使用 HTTPS。
  • 这里可能令人困惑的是,在线您通常可以将 http 换成 https 而无需更改任何其他内容;这是因为对于这些站点,http 和 https 是在默认端口上配置的,因此浏览器本身将根据方案转到端口 80 或端口 443。但是您在 url 中指定了一个手动端口,因此您需要指定正确的 https 端口。

标签: c# .net webapi


【解决方案1】:

如果您从 Visual Studio 运行,您应该会看到 http 和 https 的各种 URL。它们不能在同一个端口上。单击您的项目并检查项目属性部分,如下面的快照所示。

Snapshot

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 2020-12-28
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多