【问题标题】:C# Nancy.Hosting.Self doesn't answer to requests from network, only to localhost requestC# Nancy.Hosting.Self 不响应来自网络的请求,只响应 localhost 请求
【发布时间】:2018-08-01 15:02:12
【问题描述】:

我正在尝试将 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 或 + ?

编辑 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。

【问题讨论】:

  • 您确定这在另一台计算机上不起作用吗?您是否消除了阻止访问防火墙的问题?
  • 防火墙已关闭。我可以从本地计算机连接,但不能从同一局域网中的计算机连接。
  • 你是如何连接到它的?你用的是什么地址?
  • 带有网络浏览器。我制作了一个模块并添加了 GET 响应,基本上是这样的:Get["/"] = _ => "Received GET request";但正如我之前提到的,当我在本地计算机上使用浏览器打开 URL 时,我得到了响应,但同一 LAN 上的另一台计算机上的浏览器显示无法连接。我正在使用正确的 IP 和端口。
  • 再说一次,你没有告诉我你使用什么地址来连接应用程序。

标签: c# wpf visual-studio-2017 nancy windows-console


【解决方案1】:

您需要将其更改为 "http://+:1234" 以绑定到所有网络接口。

【讨论】:

  • 我也这样做了,构建时出现应用程序错误。如果我使用我的 IP,而不是“localhost”,它的工作原理就像它是“http://+:1234”
【解决方案2】:

解决方案

虽然我的防火墙已完全禁用,但导致问题的是防火墙。我在这篇文章中找到了解决方案:C# HttpListener and Windows Firewall

我需要做的就是将系统程序的规则添加到防火墙。如果有人遇到这个问题,这个解决方案对我有用。我现在也可以从另一个 LAN 访问 api,所以我想它可以从任何远程 IP 工作。

【讨论】:

    【解决方案3】:

    我也遇到过类似的问题。我搜索了很多讨论,但没有答案。然后我找到了以前的消息。我为我工作。

    这是一个防火墙问题。 以及解决方案;

    1- 转到防火墙设置 2-入站防火墙规则 3-添加新规则 4- 连接点 (TCP / UDP) 5- TCP 6-(输入端口号) 7- 允许连接

    我已经分享了我的经验,以防有人需要。

    【讨论】:

      猜你喜欢
      • 2016-11-01
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      相关资源
      最近更新 更多