【问题标题】:Cannot connect to webservice using the ip address but works with 127.0.0.1无法使用 ip 地址连接到 web 服务,但可以使用 127.0.0.1
【发布时间】:2016-03-15 17:53:47
【问题描述】:

目前我有使用托管在特定 IP 地址上的 dnx 的 web 服务,并且连接到它工作正常。该服务正在侦听端口 5004,因此为了连接到它,我使用以下格式

http://192.X.X.12:5004/api/somePar/?...

现在我将 Web 服务移至 Azure,并使用以下地址将远程桌面移至托管它的虚拟机上。

http://MyLink.cloudapp.net:54254

现在我正在尝试使用它的网址连接到它。如果我键入,则在托管 weservice 的虚拟机中

http://127.0.0.1:5004/api/somePar/?..  (WORKS)

以上工作。机器的 ipconfig 给我说 A.B.C.D.如果我这样使用它会失败。

http://A.B.C.D:5004/api/somePar/?..   

我想这是我的其他机器无法连接到该机器上托管的网络服务的另一个原因。关于机器 ip 地址为何失败和 web 服务仅适用于 127.0.0.1 的任何建议 我该如何解决这个问题?

【问题讨论】:

  • 我不确定,但是您的机器上是否打开了 5004 端口?你可以从windows防火墙打开端口。
  • 防火墙已完全禁用
  • 禁用防火墙是另一回事,你需要打开端口。请搜索一下如何制定入站规则并尝试打开5004端口。
  • 感谢您的信息。我检查了 resmon -> Network Activity->Listening Ports,似乎端口 5004 已打开。似乎入站/出站规则正在应用于 Windows 防火墙。如果您有链接,请告诉我。据我了解,如果我完全禁用防火墙,这应该不是问题。如果我错了,请纠正我
  • 这是在虚拟机中运行的,对吧?如果是这样,您是否创建了端点(针对经典 VM)或入站安全规则(针对基于 ARM 的 VM)以允许入站流量(与操作系统级防火墙无关)?请参阅我的 ServerFault 答案here,了解有关如何执行此操作的更多信息。

标签: c# web-services azure network-programming ports


【解决方案1】:

虚拟机运行的是什么操作系统?我在运行 Windows 7 Professional 的机器上遇到了这个确切的问题;显然,如果您在该 VM 上运行 Windows,则它必须是 Windows Server。

【讨论】:

  • 这可能是你的问题。我还没有在 Windows 10 上测试过它,但如果它对你有与 Windows 7 对我相同的问题,我不会感到惊讶。
【解决方案2】:

检查绑定,它应该指定All Unassigned

并尝试将您的 端口 更改为 80,因为 5004 是 Microsoft 的实时流协议 (RTSP) 使用的实时传输协议Windows Media 流媒体服务和其他一些东西可能被锁定

【讨论】:

  • 我现在将端口更改为 80,至少我可以使用托管在同一台计算机内的 IP 地址连接到 Web 服务。但是我仍然无法从外部连接到 Web 服务。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
  • 2023-04-03
  • 1970-01-01
  • 2014-08-28
  • 2019-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多