wake-up-neo.com

Ungültige Anforderung - Ungültiger Hostname ASP.net Visual Studio 2015

Nach dem Debuggen meiner Website in Visual Studio 2015 kann ich sie über localhost: 50544 besuchen. Ich möchte meine Website auf einem anderen Computer besuchen, von dem aus sie bedient wird und der sich ebenfalls im selben Netzwerk befindet. Um dies zu tun, sollte ich in der Lage sein, die Computeradresse zu besuchen, die 192.168.1.13:50544 lautet.

Beim Besuch dieser Adresse erhalte ich jedoch die Fehlermeldung "Ungültiger Hostname ungültig". Auch wenn ich es auf demselben Rechner wie die Website besuche.

Dem Ratschlag here folgend habe ich die folgende Windows-Firewall-Regel erstellt und auch versucht, die Firewall vollständig auszuschalten. picture of firewall rule

Ich verwende IIS express und habe daher die Datei '~\Documents\IISExpress\config\applicationhost.config' hinzugefügt

<binding protocol="http" bindingInformation=":8080:localhost" /> //original rule
<binding protocol="http" bindingInformation="*:50544:192.168.1.13" />

Der Besuch von 192.168.1.13:50544 auf einem beliebigen Computer führt jedoch immer noch zu dem Fehler "Bad Request". 

19
RADXack

Das Format des bindingInformation-Attributs lautet:

ip address:port:Host header

Was Sie brauchen, ist:

bindingInformation="192.168.1.13:50544:*"

Quelle: https://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding?showTreeNavigation=true#006

Update:

Es scheint einige Leute zu geben, die den falschen Glauben haben, dass diese Antwort falsch ist. Lesen Sie zuerst die Dokumentation (siehe Link oben) und lesen Sie die Beispiele. 

Zweitens sind IIS und IIS Express im Wesentlichen das gleiche Produkt. IIS Express wurde so angepasst, dass Nicht-Administratoren IIS auf Entwickler-PCs ausführen können, auf denen sie möglicherweise nicht über vollständige Administratorrechte verfügen. Trotzdem verwenden beide IIS und IIS Express die gleichen applicationHost.config-Dateiformate. Dies bedeutet, dass das bindingInformation-Attributformat für beide Produkte genau gleich ist.

Der Grund dafür, dass die (falsche) :50544:192.168.1.13bindingInformation-Zeichenfolge funktioniert, ist (richtig oder falsch):

  • wenn kein Host-Header angegeben ist

  • wenn sich im ersten Teil des Bindungsinformationsfelds keine übereinstimmende IP-Adresse befindet

... then IIS versucht, eine IP-Adresse im Host-Header-Teil des Bindungs-Info-Strings zu finden.

Das korrekte Format für IIS7 + und IIS Express lautet und war immer:

ip_address:port:Host_header
17
Kev

Sie müssen Visual Studio als Administrator ausführen

In Visual Studio 2015 befindet sich der applicationhost.config im Ordner selbst im Projekt. Esc MyProjectName\.vs\config, beachten Sie, dass der .vs-Ordner möglicherweise ausgeblendet ist. Ändern Sie den Ip von dort aus, nicht den IISExpress-Ordner.

Ihr <binding protocol="http" bindingInformation="*:50544:192.168.1.13" /> ist korrekt. 

20
Seagull

Wir haben eine Erweiterung namens Conveyor erstellt, mit der Sie IIS Express für externe Zugriffe öffnen können, ohne dass Änderungen an der Konfiguration vorgenommen werden müssen.

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti

7
Jim W

Ich hatte das gleiche Problem mit dem Fernzugriff und habe alle diese Tipps ausprobiert, um das Problem zu beheben. Für mich half das Ankreuzen in der Webprojekt-Konfiguration "Anonyme Authentifizierung zulassen".

0
Oskar Bzdoń