如何通过 Internet 公开 .NET 自托管 Web API
How to expose .NET self hosted Web API over the Internet
我在膝上型电脑上有一个 WPF 应用程序 运行ning,它在端口 9001 上为该膝上型电脑的网络 IP 地址自托管 Web API。我能够从本地家庭网络上的不同机器成功地将 Http 流量发送到该端口。
我需要通过 Internet 从远程位置对同一台笔记本电脑进行 运行 测试。我做了以下事情:
- 为我的笔记本电脑创建了一个静态 IP 地址
- 在防火墙中添加了入站规则以允许任何传入域或 IP 的端口 9001 的 TCP
- 在我的 Verizon 路由器中将端口 9001 的 TCP 端口转发添加到笔记本电脑的 IP 地址
- 转到 CanYouSeeMe.org 并确认我的 ISP 没有阻止我的外部、面向 Internet 的 IP 地址上的那个端口
- 为了从我的本地网络对此进行测试,我通过 Fiddler 向我的外部 IP 地址和该端口发送了一个 Http 请求,并且 API 成功执行了
- 我也可以使用外部 IP 和端口从网络上的任何计算机成功访问 API。
但是,如果我尝试从不在我的网络上的计算机访问相同的外部地址和端口,它 returns 连接失败的 http 502 状态。
我接下来应该关注哪里?
谢谢,
吉姆
事实证明,这一直有效,我在上面执行的步骤是正确的。
为了测试它以确保它在我的网络之外工作,我不得不使用我可以通过 RDP 访问的异地服务器。该服务器也是最终将在我的笔记本电脑上进行测试的服务器。在沿着一些错误的路径走下去之后,似乎我没有配置权限的服务器很可能需要我正在使用的端口的出站规则。
我的网络之外的所有其他访问方法都有效,例如手机访问和其他人的远程测试。应该先这样做。我想我只是花了太多时间问自己我错过了什么。希望有人可以从上述步骤中受益。
我在膝上型电脑上有一个 WPF 应用程序 运行ning,它在端口 9001 上为该膝上型电脑的网络 IP 地址自托管 Web API。我能够从本地家庭网络上的不同机器成功地将 Http 流量发送到该端口。
我需要通过 Internet 从远程位置对同一台笔记本电脑进行 运行 测试。我做了以下事情:
- 为我的笔记本电脑创建了一个静态 IP 地址
- 在防火墙中添加了入站规则以允许任何传入域或 IP 的端口 9001 的 TCP
- 在我的 Verizon 路由器中将端口 9001 的 TCP 端口转发添加到笔记本电脑的 IP 地址
- 转到 CanYouSeeMe.org 并确认我的 ISP 没有阻止我的外部、面向 Internet 的 IP 地址上的那个端口
- 为了从我的本地网络对此进行测试,我通过 Fiddler 向我的外部 IP 地址和该端口发送了一个 Http 请求,并且 API 成功执行了
- 我也可以使用外部 IP 和端口从网络上的任何计算机成功访问 API。
但是,如果我尝试从不在我的网络上的计算机访问相同的外部地址和端口,它 returns 连接失败的 http 502 状态。 我接下来应该关注哪里?
谢谢, 吉姆
事实证明,这一直有效,我在上面执行的步骤是正确的。
为了测试它以确保它在我的网络之外工作,我不得不使用我可以通过 RDP 访问的异地服务器。该服务器也是最终将在我的笔记本电脑上进行测试的服务器。在沿着一些错误的路径走下去之后,似乎我没有配置权限的服务器很可能需要我正在使用的端口的出站规则。
我的网络之外的所有其他访问方法都有效,例如手机访问和其他人的远程测试。应该先这样做。我想我只是花了太多时间问自己我错过了什么。希望有人可以从上述步骤中受益。