“Encabezado de host no válido” al ejecutar el servidor de desarrollo Angular/cli c9.io
angular-cli (19)
A continuación ambas soluciones funcionarán. En línea de comando:
ng serve --public --host yourip --port yourportnumber
ng serve --host 0.0.0.0 --port yourport --disableHostCheck true
Comando actual: ng serve --host --public $IP:$PORT
Resultados en mi sitio web:
Encabezado de host inválido
Aquí está la solución si alguien sigue atascado en invalid host header
problema de invalid host header
:
Ejecutar ng eject
webpack.config.js
creará el webpack.config.js
. Ejecute npm install
si está preguntando. Agregue debajo de "disableHostCheck":true
a devServer
en webpack.config.js
. Como abajo:
"devServer": {
"historyApiFallback": true,
"disableHostCheck" : true //<-- add this line
}
Luego, en package.json
opción de start
cambio de archivo en ng
como esta
"start": "webpack-dev-server --host 0.0.0.0 --port YOURPORT --public YOURIP:YOURPORT"
Ahora ejecute el comando angular con npm start
. Eso es.
Cambie la línea 425 en el archivo "node_modules / webpack-dev-server / lib / Server.js" de falso a verdadero. es decir,
Antes: devuelve falso;
Actualizado: return true;
Consulte: https://github.com/angular/angular-cli/issues/6070
Usa la bandera pública. por ejemplo: ng serve --host <workspace>-<username>.c9users.io --public
El indicador --disable-host-check
funciona bien si necesita ejecutar desde Cloud9.
Yo uso el siguiente comando:
ng serve --open --host $IP --port $PORT --disable-host-check
El uso del comando a continuación con la última versión de Angular CLI funciona para mí.
ng serve --host 0.0.0.0 --public-host <workspace>-<username>.c9users.io
En mi caso, uso mi nombre de host para actualizar el archivo / etc / hosts.
vi /etc/hosts
y añada su última línea de nombre de host.
127.0.0.1 myHostName.com
para conectar mi servidor,
ng serve -o
Se produjo un error al conectarse a myHostName.com:4200 .
así, lo uso así,
ng serve --host 0.0.0.0 --disableHostCheck true
Reconexión a myHostName.com:4200 :)
Esto fue realmente resuelto en uno de los comentarios de video de YouTube gracias a Mateusz Sawa.
Vaya here para verlo.
- especificar un host en package.json ya no funciona -
Solo para tener en cuenta que no es necesario usar el comando que se usó en el video, las siguientes instrucciones son suficientes para hacer que la aplicación funcione utilizando el desarrollo regular de angular-cli
Primero necesitas encontrar los hosts en la carpeta etc /
escriba cd ..
en la consola hasta que llegue a la raíz de la máquina Linux y compruebe siempre con ls
lo que aparece en la lista
Si ve el archivo de hosts , entonces está en la ubicación correcta y luego use los sudo vi hosts
para editarlo.
agregue la línea debajo de todas las direcciones ip "0.0.0.0 yourworkspace-yourusername.c9users.io " (sin comillas, por supuesto :-))
también en package.json cambie "start": "ng serve -H yourworkspace-yourusername.c9users.io "
luego solo tiene que ir a la carpeta de aplicaciones e iniciar la aplicación en el terminal con npm start
Lo comprobé justo ahora y funcionó
La cosa es que solo puede acceder al enlace que ha especificado en el parámetro --public. En mi caso, proporcioné la dirección IP en --public y tratando de acceder a ella con el dominio que registré contra esa IP. Pero ng lo une para el único host proporcionado en --public.
Para resolver este problema, proporcioné un parámetro más: disable-host-check
. Comando completo: ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public xxxx
Para saber más, haga clic aquí.
Me encontré con el mismo error después de implementar mi aplicación angular en una instancia de AWS EC2 con una imagen bitnami. Entonces lancé mi aplicación con el siguiente comando y funcionó bien.
ng serve --host 0.0.0.0 --port 8080 --disableHostCheck true
Necesitas especificar el host
ng serve --port 8080 --host 123.34.56.78
Probado en la siguiente versión de Angular y servidor Amazon.
Angular CLI: 6.0.8
Node: 8.11.3
OS: linux x64
Angular: 5.2.8
Se han cambiado las opciones de comando ng, ahora use la configuration
lugar de env
. El comando que funcionó para mí es
ng serve --configuration=dev --port 4009 --host 0.0.0.0 --publicHost myhost.com
Nunca use --disable-host-check
en un servidor público. Angular te avisará si usas esto. Puede funcionar pero es un grave problema de seguridad. Recibirás este mensaje si usas esa bandera.
ADVERTENCIA: ejecutar un servidor con --disable-host-check es un riesgo para la seguridad. Consulte medium.com/webpack/… para obtener más información.
Por favor, tómese un tiempo para leer ese artículo que vale la pena leer.
Simplemente debe cambiar 0.0.0.0 a su dirección IP local como 192.168.1.42 y debería funcionar.
ng serve --host 192.168.1.42
Tengo el mismo error. La opción pública solucionó el problema para mí como a continuación:
ng serve --host 0.0.0.0 --port 8080 --live-reload-port 8081 --public $C9_HOSTNAME
Usar el siguiente comando funciona para mí.
ng serve --host 0.0.0.0 --port 8080 --public ipAddress
Use el siguiente comando para mi CLI angular: 6.0.7
ng serve --host 0.0.0.0 --port 8080 --disableHostCheck
Ver este tema
Edite la siguiente línea en
node_modules/webpack-dev-server/lib/Server.js
(línea 425), cambie a:
return true;
Estoy usando el IDE de cloud9 y luego ejecuto:
ng serve --port 8080 --host 0.0.0.0
. Ahora funciona bien.
localtunnel
este error al intentar acceder a nuestra aplicación mediante la utilidad localtunnel
.
La sugerencia de @tarn (de un comentario sobre la respuesta aceptada) de agregar --disableHostCheck true
al comando ng serve
hizo el truco.
Debe ejecutar lo siguiente: ng serve --port 8080 --publicHost 123.34.56.78 (la dirección IP de su servidor o el nombre de host). funciona para mi .