簡體   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