繁体   English   中英

如何使用OWIN自托管提示防火墙例外?

[英]How to prompt for firewall exceptions with OWIN self-hosting?

如何在OWIN中使用自托管服务器并提示防火墙例外? 我正在从不能保证管理员权限的进程运行此自托管服务器,因此我不能仅以编程方式添加防火墙例外。

我进行了一些搜索,有人建议使用TCP侦听器“伪造”端口绑定,以导致发生防火墙异常提示:

IPAddress ip = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(IPAddress.Any, 32454);

TcpListener t = new TcpListener(ipLocalEndPoint);
t.Start();
t.Stop();

这可以正常工作,并且出现Windows防火墙提示,我可以在其中允许我的程序添加到列表中,但是当我尝试从另一台计算机上启动它时,这似乎不足以允许从外部访问我的OWIN服务器它如下:

var server = Microsoft.Owin.Hosting.WebApp.Start<WebStartup("http://*:32454/);

请注意,我还使用netsh预先保留了此url方案,以使其可以从非管理员帐户正常工作。

似乎OWIN所做的一切都超出了基于标准的可执行文件的Windows防火墙例外的范围。 关于我做错了什么或如何正确执行并让用户添加将与OWIN一起使用的防火墙例外的任何想法?

一种解决方案是通过运行自己打开端口

netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

使用命令行或以编程方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM