C# 是否可以使用nancy启动主机0.0.0.0:端口?

C# 是否可以使用nancy启动主机0.0.0.0:端口?,c#,ip,ip-address,nancy,C#,Ip,Ip Address,Nancy,我正在尝试用IP启动主机https://0.0.0.0:9000与Nancy主机一起运行,但我得到了系统-请求不受支持异常。下面是我的代码 string strHostProtocol = "https"; string strHostIP = "0.0.0.0"; string strHostPort = "9000"; var url = strHostProtocol + "://" + strHostIP + ":" + strHostPort; this.host = new Nan

我正在尝试用IP
启动主机https://0.0.0.0:9000
与Nancy主机一起运行,但我得到了
系统-请求不受支持
异常。下面是我的代码

string strHostProtocol = "https";
string strHostIP = "0.0.0.0";
string strHostPort = "9000";

var url = strHostProtocol + "://" + strHostIP + ":" + strHostPort;
this.host = new NancyHost(new Uri(url));
this.host.Start();
它将允许我启动其他IP地址,如
127.0.0.1:9000
192.168.100.10:9000
等,但不允许
0.0.0:9000
。我读到这是一个有效的IP。但我的问题是,为什么不允许这样做?此IP是否保留用于任何目的

更新


这里的唯一目的是,我试图通过提供的公共IP访问内部IP。但Nancy即使使用端口启动内部IP,当请求通过公共IP提供时,它也不会识别。不确定这是否可以实现。

我找到了方法:

HostConfiguration hostConf = new HostConfiguration();
hostConf.RewriteLocalhost = true;
var apiHost = new NancyHost(hostConf, new Uri("http://localhost:8080"));
apiHost.Start();

根据TCP/IP设计,0.0.0.0意味着本地计算机上的“所有”或“每个”ipv4地址,而0.0.0.0是不可中断的某种元地址。路由方面如果将0.0.0.0设置为路由目的地,则表示它是每隔一个网络地址的路由项目。@aʎess。。我之所以这么做,是因为我已经将系统的IP设为公共IP,并且我已经用9000端口启动了本地IP。。我可以用公共IP远程登录这个端口,但我不能通过internet浏览相同的端口。我听说从
0.0.0.0
开始会有帮助。你的意思是想将nancy绑定到所有接口,比如分配给本地框的每个可能的IP地址?如果是这样,您可以尝试将“0.0.0.0”替换为通配符“+”。@ʞaʎess噢,好的。。让我试试。如果你使用某种NAT,你的主机将在一个内部IP上接收请求,它甚至不知道原始请求被发送到一个公共IP。如果不使用NAT,windows可能会阻止该请求,至少ARP无法工作。如果收到任何信息,您可以向wireshark查询?