我正在尝试将nancy self hosting集成到我的wpf项目中,当我启动程序时,我可以从本地浏览器连接到rest api,但无法从另一台计算机连接。
HostConfiguration hostConfigs = new HostConfiguration();
hostConfigs.UrlReservations.CreateAutomatically = true;
NancyHost host = new NancyHost(hostConfigs, new Uri("http://localhost:1234"));
host.Start();
有没有办法可以将Uri设置为通配符,就像在其他内置的Web服务器中一样,0.0.0.0或+?
EDIT 禁用Windows防火墙!! 我还尝试了不同的主机配置,http://10.10.10.149:1234"作为主持人。我已经尝试了#34; http://+:1234,这个没有构建,它会抛出错误。
我还通过在powershell中运行一些命令来完全删除了hostConfigs并将ACL添加到系统中,如许多文章所述:
netsh http add urlacl url="http://+:12345/" user="Everyone"
但是,只能从本地浏览器连接,而不能从其他网络位置连接。每当我尝试连接到通过rest api运行程序的机器时,我得到503服务不可用。
答案 0 :(得分:0)
您需要将其更改为"http://+:1234"
以绑定到所有网络接口。
答案 1 :(得分:0)
解
虽然我的防火墙已完全禁用,但是防火墙导致了问题。我在本文中找到了解决方案:C# HttpListener and Windows Firewall
我需要做的就是将系统程序的规则添加到防火墙。如果有人遇到这个问题,这个解决方案对我有用。我现在也可以从另一个局域网访问api,所以我猜它可以从任何远程IP工作。
答案 2 :(得分:0)
我也遇到过类似的问题。我搜索了很多讨论,但没有答案。然后我找到了以前的消息。我为我工作。
这是一个防火墙问题。 以及解决方案;
1- 进入防火墙设置 2- 入站防火墙规则 3- 添加新规则 4- 连接点(TCP / UDP) 5-TCP 6-(输入端口号) 7- 允许连接
我已经分享了我的经验以备不时之需。