无法调用IIS 10,Windows 10上承载的ASP.NET Web API

时间:2017-08-14 10:34:05

标签: asp.net iis asp.net-web-api windows-10 iis-10

我在IIS 10上托管的Windows 10 PC上创建了ASP.NET API端点。使用Chrome的扩展应用程序Postman,我可以在同一台机器内部调用API(使用localhost甚至是我自己的本地IP)。例如:

http://localhost/UserService/api/user/getByUsername?username=abc

http://192.168.0.160/UserService/api/user/getByUsername?username=abc

然后我尝试使用另一台PC(Windows 7)连接到我的Windows 10 PC连接到的同一个Wifi LAN,并尝试通过Postman调用上面的示例URL,但它没有通过(获得“可能”没有得到任何回应“错误”。 Windows 7 PC无法调用Windows 10 PC上托管的API。

然而,当我颠倒设置即在Windows 7的IIS(版本7.5)上托管并使用Windows 10 PC进行调用时,没有发现问题。

出了什么问题?是因为某些防火墙设置?

enter image description here

2 个答案:

答案 0 :(得分:1)

要检查的一些事项Windows Firewall with Advanced Security

  • 您是否启用了World Wide Web Services (HTTP Traffic-In)规则 在Windows防火墙例外?
  • Remote Computers标签中是否有任何条目?
  • 是行动Allow the connection
  • 您的Advanced标签的内容是什么?

修改

根据您的评论,问题确实是防火墙问题,但不是Windows Firewall with Advanced Security。 McAfee防火墙阻止对端口80的外部访问。向McAfee添加例外以允许端口80,可能还有443.请参阅McAfee's知识库。

答案 1 :(得分:0)

在@reckface的大力帮助下,找到了根本原因,实际上是McAfee防病毒本身。在浏览用户界面后,我发现设置允许某些端口的传入流量,而无需完全关闭防火墙设置。

enter image description here

使用" Web服务器(HTTP)端口80"在用户界面上启用,我现在可以从另一台PC访问API。