【问题标题】:Self hosted API Certificate Issue自托管 API 证书问题
【发布时间】:2020-04-04 22:15:13
【问题描述】:

我无法通过 AJAX 访问 API,因为 SSL 证书是自签名的。如何更改证书?

我在 Startup Class 上找不到任何选项。也不是项目属性。

编辑:我没有尝试从我自己的机器(已经信任证书)访问 API,而是尝试从其他不信任的机器访问。

如果我打开 swagger(它也使用相同的证书),我可以点击“信任”证书然后它就可以工作,但这不是一个选项,因为 swagger 将无法访问

【问题讨论】:

标签: ajax api ssl-certificate asp.net-core-3.0


【解决方案1】:

我假设您无法访问您当前正在开发的 API。

SSL 证书通常由服务于您的应用程序的 HTTP 服务器处理,而不是应用程序本身。在开发过程中,dotnet 为开发人员创建自签名证书,该证书应受操作系统信任,以便您使用的浏览器也信任。 相信你可以根据docs运行dotnet dev-certs https --trust

【讨论】:

  • 我可以在本地访问它,当请愿来自网络服务器或任何其他机器时会出现问题
  • 所以没有优雅的解决方法。这就是网络的工作方式:如果您使用 HTTPS,则必须信任证书。如果它是由某人自签名的,则您不应该信任它。您可以在每台要向 API 发出请求的机器上安装此自签名证书,也可以从 CA 获取正确的 SSL 证书并使用它。例如,寻找让我们加密。为了调试,并且仅用于调试,您还可以关闭 HTTPS 并仅使用 HTTP。但强烈不建议这样做,因为整个通信将采用纯文本。
  • 但是如何更改 Visual Studio 使用的证书?
  • 使用证书的不是 Visual Studio,而是为您的应用程序提供服务的服务器。它可能是 IIS Express 或 IIS。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
  • 1970-01-01
  • 2016-02-29
  • 2019-01-25
相关资源
最近更新 更多