Cuando intento acceder a mi aplicación web en el puerto 8080, aparece el siguiente error
Solicitud incorrecta: nombre de host no válido
Error HTTP 400. El nombre de host de la solicitud no es válido.
Ni siquiera sé por dónde empezar a diagnosticar este problema.
FWIW, si solo desea permitir solicitudes dirigidas a cualquier nombre de host / ip, puede configurar su enlace de la siguiente manera:
Utilizo este enlace para poder cargar una máquina virtual con IE6 y luego depurar mi aplicación.
EDITAR: Mientras usa IIS Express para depurar, la ubicación predeterminada para el archivo de configuración de esta opción es
fuente
Esta página de Microsoft describe cómo configurar el acceso a IIS Server Express desde otras computadoras en la red local.
En una palabra:
1) desde un símbolo del sistema con privilegios de administrador:
2) En el Firewall de Windows con seguridad avanzada, cree una nueva regla de entrada para el puerto 8181 para permitir conexiones externas
3) En applicationhost.config, en el nodo de su proyecto, agregue:
<binding protocol="http" bindingInformation="*:8181:[your ip address]" />
NO agregue (como se sugirió en otra respuesta):
<binding protocol="http" bindingInformation="*:8181:*" />
El enlace comodín anterior rompió mi acceso desde
http://192.168.1.6:8181/
fuente
netsh http delete urlacl url=http://[your ip address]:8181/
Entonces, resolví esto yendo a mi sitio web en el Administrador de IIS y cambiando el nombre de host en los enlaces del sitio de localhost a *. Comenzó a trabajar de inmediato.
fuente
Para
Visual Studio 2017
yVisual Studio 2015
, laIIS Express
configuración se almacena en el.vs
directorio oculto y la ruta es algo como esto.vs\config\applicationhost.config
, agregar enlace como a continuación funcionaráSintaxis: https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.administration.binding.bindinginformation?view=iis-dotnet
fuente
<bindings> <binding protocol="http" bindingInformation="localhost:8802:*" /> <binding protocol="http" bindingInformation="127.0.0.1:8802:*"/> </bindings>
¡No olvide vincularse también a la dirección IPv6! Estaba tratando de agregar un sitio en 127.0.0.1 usando localhost y obtuve el error de solicitud incorrecta / nombre de host no válido. Cuando hice ping a localhost, se resolvió en :: 1 ya que IPv6 estaba habilitado, así que solo tuve que agregar el enlace adicional para solucionar el problema.
fuente
Esto resolvió mi problema (perdón por mi mal inglés):
abra cmd como administrador y ejecute el comando (sin los corchetes):
netsh http add urlacl url=http://[ip adress]:[port]/ user=everyone
en
documents/iisexpress/config/applicationhost.config
y en la carpeta raíz del proyecto en la carpeta (oculta):.vs/config/applicationhost.config
necesita agregar una fila a la etiqueta "sitio":<binding protocol="http" bindingInformation="*:8080:192.xxx.xxx.xxx" />
abra "administrador de servicios de información de Internet (iis)"
(para encontrarlo: en la búsqueda en la barra de tareas, escriba "Activar o desactivar las funciones de la ventana" y abra el resultado y luego marque la casilla de verificación "servicio de información de Internet" e instálelo):
abra "Firewall de Windows con seguridad avanzada",
hecho.
fuente
No estoy seguro si este fue su problema, pero para cualquiera que esté tratando de acceder a su aplicación web desde su máquina y tenga este problema:
Asegúrese de conectarse a
127.0.0.1
(también conocido comolocalhost
) y no a su dirección IP externa.Su URL debe ser algo como
http://localhost:8181/
ohttp://127.0.0.1:8181
y nohttp://YourExternalIPaddress:8181/
.Información adicional:
la razón por la que esto funciona es porque su firewall puede bloquear su propia solicitud. Puede ser un firewall en su sistema operativo y puede ser (lo habitual) su enrutador.
Cuando te conectas a tu dirección IP externa, te conectas a ti desde Internet, como si fueras un extraño (o un hacker).
Sin embargo, cuando te conectas a tu localhost, te conectas localmente como tú mismo y obviamente el bloqueo no es necesario (y se evita por completo).
fuente
localhost
, es a lo que se refiere (127.0.0.1
). Todo lo que digo es conectarse a eso y no a su IP visible externamente. No se depende del localhost, solo se usa como sinónimo. Editaré mi respuesta para aclararlo.Puede utilizar la herramienta CMD de Visual Studio 2005/2008/2010. Ejecútelo como administrador y escriba
Por fin puedo ejecutar mi aplicación con éxito.
fuente
Si trabaja en un servidor local o no tiene un nombre de dominio, elimine el campo "Nombre de host:".
fuente
Verifique su archivo de hosts local (C: \ Windows \ System32 \ drivers \ etc \ hosts, por ejemplo). En mi caso, lo había usado anteriormente para apuntar una URL a un cuadro de desarrollo y luego lo olvidé. Cuando reutilicé la misma URL, seguí recibiendo una solicitud incorrecta (nombre de host no válido) porque el tráfico iba al servidor incorrecto.
fuente
Recibí este error cuando intenté llamar a un servicio web usando "localhost". Lo arreglé usando la IP real en su lugar (192.168 ...)
fuente
Vi el mismo error después de usar msdeploy para copiar la aplicación en un nuevo servidor. Resultó que los enlaces todavía usaban la dirección IP del servidor anterior. Por lo tanto, verifique la dirección IP en los enlaces de IIS. (Parece obvio después del hecho, pero no se me ocurrió comprobarlo inmediatamente).
fuente
Verifique la URL exacta que está proporcionando. Vi este error cuando me perdí el prefijo de ruta definido en ASP.NET, por lo que no sabía dónde enrutar la solicitud.
fuente
Asegúrese de que IIS esté escuchando su puerto.
En mi caso, este fue el problema. Entonces tuve que cambiar mi puerto a algo más como 8083 y resolvió este problema.
fuente