簡體   English   中英

C# Nancy.Hosting.Self 不響應來自網絡的請求,只響應本地主機請求

[英]C# Nancy.Hosting.Self doesn't answer to requests from network, only to localhost request

我正在嘗試將 nancy 自托管集成到我的 wpf 項目中,當我啟動我的程序時,我能夠從本地瀏覽器連接到 rest api,但無法從另一台計算機連接。

HostConfiguration hostConfigs = new HostConfiguration();
hostConfigs.UrlReservations.CreateAutomatically = true;

NancyHost host = new NancyHost(hostConfigs, new Uri("http://localhost:1234"));
host.Start();

有沒有辦法可以將 Uri 設置為通配符,就像在其他內置網絡服務器中一樣, 0.0.0.0 或 + ?

編輯Windows 防火牆已禁用! 我還嘗試了不同配置的主機,以http://10.10.10.149:1234 " 作為主機。我嘗試了 " http://+:1234 ,這個沒有構建,它拋出錯誤。

我還完全刪除了 hostConfigs 並通過在 powershell 中運行一些命令將 ACL 添加到系統中,就像許多文章中建議的那樣:

netsh http add urlacl url="http://+:12345/" user="Everyone"

盡管如此,只能從本地瀏覽器連接,不能從其他網絡位置連接。 每當我嘗試連接到通過 rest api 運行程序的機器時,我都會收到 503 Service Unavailable。

您需要將其更改為"http://+:1234"以綁定到所有網絡接口。

解決方案

盡管我的防火牆已完全禁用,但導致問題的是防火牆。 我在這篇文章中找到了解決方案: C# HttpListener and Windows Firewall

我需要做的就是將系統程序的規則添加到防火牆。 如果有人遇到這個問題,這個解決方案對我有用。 我現在也可以從另一個 LAN 訪問 api,所以我想它可以從任何遠程 IP 工作。

我遇到了類似的問題。 我搜索了很多討論,但沒有答案。 然后我找到了以前的消息。 我為我工作。

這是一個防火牆問題。 和解決方案;

1- 進入防火牆設置 2- 入站防火牆規則 3- 添加新規則 4- 連接點(TCP / UDP) 5- TCP 6-(輸入端口號) 7- 允許連接

我已經分享了我的經驗,以防有人需要它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM