将 .net web api 托管到公共访问

分享于2022年07月17日 .net api c# web 问答
【问题标题】:将 .net web api 托管到公共访问(Host .net web api to public access)
【发布时间】:2022-01-27 10:31:03
【问题描述】:

我有一个问题,我无法将我的 web api 托管给公共访问。例如,有人从外面做一些请求并得到响应。我尝试了 IIS 配置,所有示例都从 GTS 尝试,然后没有任何动作。任何人都可以向我发布完整的规格,例如我需要做什么 https://myipaddress:5001/api/ping 公开可见,另一台机器上的人可以执行此请求并获得响应

  • 您遇到的是网络问题。 SO适用于编程问题。如果您不具备执行此操作的专业知识,那么我警告您不要这样做,因为如果您弄错了,您将面临严重的安全问题。

【解决方案1】:

IIS 用于本地开发。 你要做的是 publish 你的应用程序。托管服务提供商有很多,但如果我们坚持使用 Microsoft,您可以使用 Azure 发布您的应用程序: https://docs.microsoft.com/en-us/azure/app-service/quickstart-dotnetcore?tabs=net60&pivots=development-environment-vs

它是付费的,但是您可以注册以获得临时免费访问以测试解决方案。

  • IIS 不仅仅用于本地开发。它是您在 Windows 上托管时使用的 Web 服务器。你在考虑 IIS Express 吗?
  • AFAIK 在后台运行本地 IIS 主机,与 Express 不同,您无需运行 IDE 即可访问在其上运行的站点。我认为,如果问题是关于允许公共访问“您的 IP”,那么 OP 发布应用程序而不是将您的本地 IIS 暴露给外部访问会更安全。我同意 IIS 不仅适用于本地开发,而且我会推荐其他公开公开 API 的方式。
  • Azure 应用服务在您选择 Windows 服务计划时使用 IIS。我同意这会更安全,因此我的评论。