2016-04-15 19 views
5

Ich versuche, Host mit IP https://0.0.0.0:9000 mit Nancy Host zu starten, bekomme aber System - The request is not supported Ausnahme. Unten ist mein Code.Ist es möglich, Host 0.0.0.0: Port mit Nancy zu starten?

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(); 

Es wird mir erlauben, andere IP-Adresse wie 127.0.0.1:9000, 192.168.100.10:9000 usw. zu starten, aber nicht 0.0.0.0:9000. Ich habe gelesen, dass dies eine gültige IP ist. Aber meine Frage ist, warum das nicht beginnen darf? Ist diese IP für irgendeinen Zweck reserviert?

aktualisieren


Der einzige Zweck ist hier, ich versuche, vorgesehen, um eine interne IP über eine öffentliche IP zuzugreifen. Aber Nancy startet auch interne IP mit Port, wenn die Anfrage durch öffentliche IP-Adresse zur Verfügung gestellt wird, wird es nicht erkennen. Nicht sicher, ob dies erreichbar ist oder nicht.

+0

, die von TCP/IP-Design ist, 0.0.0.0 bedeutet „all“ oder „all“ IPv4-Adresse auf dem lokalen Rechner und von diesen 0.0.0.0 ist unroutable eine Art eine Meta-Adresse Routing-weise, wenn Sie 0.0.0.0 als Routing-Ziel festlegen, bedeutet es, dass es ein Routing-Element für alle anderen Netzwerkadressen ist. – kayess

+0

@ ʞaʎess .. Ich versuche das, weil ich eine IP des Systems als öffentliche IP gemacht habe und ich lokale IP mit 9000 Hafen begonnen habe. Ich kann diesen Hafen mit öffentlicher IP telnet, aber ich bin nicht in der Lage, das zu browsen Gleiches über das Internet. Ich habe gehört, dass das Starten mit '0.0.0.0 'hilfreich wäre. –

+2

Sie meinen, dass Sie Nancy an alle Schnittstellen binden möchten, wie jede mögliche IP-Adresse, die der lokalen Box zugeordnet ist? Wenn ja, könnten Sie versuchen, "0.0.0.0" durch ein "+" zu ersetzen, das ein Platzhalter ist. – kayess

Antwort

4

habe ich herausgefunden, wie:

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