【问题标题】:How to expose .NET self hosted Web API over the Internet如何通过 Internet 公开 .NET 自托管 Web API
【发布时间】:2016-09-30 19:08:05
【问题描述】:

我有一个 WPF 应用程序在笔记本电脑上运行,该应用程序在端口 9001 上为该笔记本电脑的网络 IP 地址自托管 Web API。我能够从本地家庭网络上的不同机器成功地将 Http 流量发送到该端口。

我需要通过 Internet 从远程位置对同一台笔记本电脑运行测试。我做了以下事情:

  • 为我的笔记本电脑创建了一个静态 IP 地址
  • 在防火墙中添加了入站规则,以允许 TCP 用于任何传入域或 IP 的端口 9001
  • 在我的 Verizon 路由器中为端口 9001 添加了 TCP 端口转发到该笔记本电脑的 IP 地址
  • 访问 CanYouSeeMe.org 并确认我的 ISP 没有阻止我面向 Internet 的外部 IP 地址上的该端口
  • 为了从我的本地网络进行测试,我通过 Fiddler 向我的外部 IP 地址发送了一个 Http 请求,并且该端口和 API 成功执行
  • 我还可以使用外部 IP 和端口从网络上的任何计算机成功访问该 API。

但是,如果我尝试从不在我的网络上的计算机访问相同的外部地址和端口,它会返回连接失败的 http 502 状态。 有什么想法我接下来应该去看看吗?

谢谢, 吉姆

【问题讨论】:

    标签: networking self-host-webapi


    【解决方案1】:

    事实证明,这一直有效,我上面执行的步骤是正确的。

    为了测试它以确保它在我的网络之外工作,我必须使用我可以通过 RDP 访问的异地服务器。该服务器也是最终将在我的笔记本电脑上进行测试的服务器。经过一些错误的路径后,我没有配置权限的服务器似乎很可能需要我正在使用的端口的出站规则。

    我的网络之外的所有其他访问方法都可以正常工作,例如手机访问和其他人的远程测试。应该先这样做。我想我只是花了太多时间问自己我错过了什么。希望有人可以从上述步骤中受益。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-27
      • 2019-07-09
      • 2023-01-07
      相关资源
      最近更新 更多