因此,我正在尝试从不在本地网络中的用户接收HTTP请求。我使用HttpListener C#类制作了一个侦听器。 我添加了这样的前缀:“ http:// *:[port] /”
现在,这正在本地计算机上工作。但是,一旦有人外部尝试访问“ Web服务器”,就会触发Windows 10防火墙,并且不允许该请求。
我知道,因为如果禁用防火墙,它就可以工作。
因此,Web服务器无用。
在同一应用程序中,我已经打开了一个TCP套接字。如果我没记错的话,Windows询问我是否要在该应用程序和端口的防火墙中创建例外。
为什么不再次使用HttpListener询问?
是因为这个吗? Firewall Not asking Permission to open the port
我希望用户不必手动允许防火墙中的端口+应用程序。
externalIP = "MY.EXTERNAL.IP.000";
httplistenener = new HttpListener();
httplistenener.Prefixes.Add("http://*:" + port + "/");
httplistenener.Start();
通过这段代码,外部客户端将被防火墙拒绝。