无法调用托管在 IIS 10、Windows 10 上的 ASP.NET Web API

Unable to call ASP.NET Web API hosted on IIS 10, Windows 10

我在我的 Windows 10 PC 上创建了 ASP.NET API 端点,托管在 IIS 上。使用 Chrome 的扩展应用程序 Postman,我可以在同一台机器内部调用 API(使用本地主机甚至我自己的本地 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,并尝试调用上面的例子URL 通过邮递员,但它没有通过(得到 "Could not get any response" 错误)。 Windows 7 PC 无法调用 API 托管在 Windows 10 PC 上。

然而,当我反转设置即在 Windows 7 的 IIS(7.5 版)上托管并使用 Windows 10 PC 来调用时,没有发现任何问题。

出了什么问题??是否由于某些防火墙设置?

需要检查的几件事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 知识库。

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

在 UI 上启用 "Web Server (HTTP) Port 80" 后,我现在可以从另一台 PC 访问 API。