IIS Express拒绝来自公共IP的连接

时间:2017-09-10 17:26:53

标签: c# asp.net-web-api

我开发了一个WebApi服务器。如果我使用localhost:9615/api/method它可以正常工作。即使我使用IP地址192.168.0.1:9615/api/method

我很确定几周前,如果我通过我的路由器连接像123.123.123.123:9615/api/method这样的端口转发它也能正常工作,但现在它不再起作用了。我拒绝了连接。有什么我想念的东西。当我连接到ip本身时,IIS欢迎屏幕出现,这意味着端口转发工作,但由于某种原因,我的WebAPI应用程序不想接受连接。

我已将applicationhost.config更改为接受外部连接

                <binding protocol="http" bindingInformation="*:9615:localhost" />
                <binding protocol="http" bindingInformation="*:9615:*" />

我还添加了

的网址预订
netsh http add urlacl url=http://*:9615/ user=everyone

它在我的预订中显示为

Reserved URL            : http://*:9615/
    User: \Everyone
        Listen: Yes
        Delegate: No
        SDDL: D:(A;;GX;;;WD)

从Wireshark看来ACK似乎是通过发送,但也是一个RST。然后只有很多重传,RST,ACK。

1 个答案:

答案 0 :(得分:1)

IIS Express默认只允许本地主机访问。您需要启用外部访问权限,请参阅:IIS Express enable external request。你应该使用完整的IIS,而不是花费任何金钱。它更强大,功能更多。