【发布时间】:2016-08-10 01:16:02
【问题描述】:
我正在创建一个最终将托管在 Windows 服务内部的 Nancy 模块。要启动 Nancy 托管,我使用的是 Nancy.Hosting.Self。下面是启动 Nancy 主机的代码。
string strHostProtocol = Convert.ToString(ConfigurationManager.AppSettings["HostProtocol"]);
string strHostIP = Convert.ToString(ConfigurationManager.AppSettings["HostIP"]);
string strHostPort = Convert.ToString(ConfigurationManager.AppSettings["HostPort"]);
//Here strHostProtocol="https", strHostIP = "192.168.100.88" i.e. System IPv4, strHostPort = "9003"
var url = strHostProtocol + "://" + strHostIP + ":" + strHostPort;
//url ="https://192.168.100.88:9003"
this.host = new NancyHost(new Uri(url));
this.host.Start();
现在一旦windows服务启动,它将启动上面的主机,我可以在netstat -a命令中看到这个。当我使用 https://192.168.100.88:9003 在浏览器中浏览此内容时,我会得到正确的响应。
使用其外部 IP 浏览相同内容时会出现问题。假设这个系统已经分配了208.91.158.66 的外部 IP,当我尝试以 https://208.91.158.66:9003 浏览它时,我只会得到一个浏览器默认加载进度,它不会停止并且不会抛出任何错误。我还成功添加了以下命令和保留 URL。
netsh http add urlacl url=https://192.168.100.88:9003/ user=everyone
但即使在此之后,也无法使用分配给该系统的外部 IP 浏览主机。南希有什么限制吗?防火墙关闭,防御者关闭。有人对此有任何想法吗?
更新
重复链接的问题是关于局域网的,但在这里我正在尝试通过外部 IP,我已经尝试过那里提到的答案,并且在问题中也指定了相同的内容
【问题讨论】:
-
你提到防火墙,我假设这是本地操作系统防火墙。你有没有在外部路由器上添加任何端口转发?
-
是的..已经完成了..
-
@TimBourguignon 那个问题是关于
LAN,但我是通过外部IP,我已经尝试过那里提到的答案,并且也指定了相同的问题。 -
可能是它只监听 192.168.100.88 而不是它的远程 IP。