Bieżące polecenie: ng serve --host --public $IP:$PORT
Wyniki na mojej stronie:
Nieprawidłowy nagłówek hosta
Odpowiedzi:
--disable-host-check
Flag działa dobrze, jeśli trzeba uruchomić z Cloud9.
Używam następującego polecenia:
ng serve --open --host $IP --port $PORT --disable-host-check
--disable-host-check
, otrzymasz ostrzeżenie w konsoli. WARNING: Running a server with --disable-host-check is a security risk. See
medium.com/webpack/ ... aby uzyskać więcej informacji.
Musisz określić hosta
ng serve --port 8080 --host 123.34.56.78
Zobacz ten numer
Edytuj następujący wiersz w
node_modules/webpack-dev-server/lib/Server.js
(wiersz 425), zmień na:return true;
Używam Cloud9 IDE następnie uruchomić:
ng serve --port 8080 --host 0.0.0.0
. Teraz działa dobrze.
ng serve --host 0.0.0.0 --disable-host-check
To działa dla mnie:
ngrok http --host-header=rewrite PORT
na przykład :
ngrok http --host-header=rewrite 4200
W moim przypadku używam mojej nazwy hosta do aktualizacji pliku / etc / hosts.
vi /etc/hosts
i dodaj ostatnią linię swojej nazwy hosta.
127.0.0.1 myHostName.com
podłączyć mój serwer,
ng serve -o
Wystąpił błąd podczas łączenia się z myHostName.com:4200 .
więc zrobiłem to,
ng serve --host 0.0.0.0 --disableHostCheck true
Ponowne łączenie się z myHostName.com:4200 :)
W angular.json dodaj następujące elementy w obszarze architekt -> służyć -> opcje
"disableHostCheck": true
Mam odpowiedź na tej stronie z problemem Github
ng serve
(i prawdopodobnie chcesz to
U mnie działa poniższe polecenie.
ng serve --host 0.0.0.0 --port 8080 --public ipAddress
Napotkałem ten sam błąd po wdrożeniu mojej aplikacji kątowej na instancji AWS EC2 z obrazem bitnami. Następnie uruchomiłem aplikację za pomocą poniższego polecenia i działało dobrze.
ng serve --host 0.0.0.0 --port 8080 --disableHostCheck true
Testowane na poniższej wersji Angulara i serwera Amazon.
Angular CLI: 6.0.8
Node: 8.11.3
OS: linux x64
Angular: 5.2.8
Opcje polecenia ng zostały zmienione, teraz używaj configuration
zamiast env
. Polecenie, które działało dla mnie, to
ng serve --configuration=dev --port 4009 --host 0.0.0.0 --publicHost myhost.com
Nigdy nie używaj --disable-host-check
na serwerze publicznym. Angular ostrzeże Cię, jeśli tego użyjesz. Może działać, ale jest to poważny problem z bezpieczeństwem. Otrzymasz tę wiadomość, jeśli użyjesz tej flagi.
OSTRZEŻENIE: uruchomienie serwera z opcją --disable-host-check stanowi zagrożenie bezpieczeństwa. Więcej informacji można znaleźć pod adresem https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a .
Poświęć trochę czasu na przeczytanie tego artykułu, który warto przeczytać.
ng serve --host 0.0.0.0 --public-host sub.myhost.com
Zostało to faktycznie rozwiązane w jednym z komentarzy wideo na youtube dzięki Mateuszowi Sawie
Przejdź tutaj, aby to sprawdzić.
- Określenie hosta w package.json już nie działa -
wystarczy zauważyć, że nie jest konieczne użycie polecenia, które zostało użyte w filmie, wystarczą poniższe instrukcje, aby aplikacja działała przy regularnym angular-cli
programowaniu
najpierw musisz znaleźć hosty w folderze etc /
wpisz cd ..
w konsoli, aż dotrzesz do katalogu głównego komputera z systemem Linux i zawsze sprawdzaj, ls
co jest na liście
jeśli widzisz plik hosts , to jesteś we właściwej lokalizacji, a następnie użyjsudo vi hosts
aby go edytować
dodaj wiersz poniżej wszystkich adresów IP „0.0.0.0 twoja przestrzeń robocza- nazwa_użytkownika.c9users.io ” (oczywiście bez cudzysłowów :-))
również w package.json zmień "start": "ng serv -H yourworkspace-yourusername.c9users.io "
następnie wystarczy przejść do folderu aplikacji i uruchomić aplikację w terminalu za pomocą npm start
sprawdziłem to przed chwilą i zadziałało
ng serv --host 0.0.0.0 --port 1234 - public-host mydomain.com
To działa dla mnie.
Mam ten sam błąd. Opcja publiczna rozwiązała problem dla mnie jak poniżej:
ng serve --host 0.0.0.0 --port 8080 --live-reload-port 8081 --public $C9_HOSTNAME
Zobacz: https://github.com/angular/angular-cli/issues/6070
użyj flagi publicznej. na przykład:ng serve --host <workspace>-<username>.c9users.io --public
Powinieneś po prostu zmienić 0.0.0.0 na lokalny adres IP, taki jak 192.168.1.42 i powinno działać.
ng serve --host 192.168.1.42
Chodzi o to, że masz dostęp tylko do linku, który podałeś w parametrze --public. W moim przypadku podałem adres IP jako publiczny i próbuję uzyskać do niego dostęp w domenie zarejestrowanej pod tym adresem IP. Ale ng wiąże go z jedynym hostem dostarczonym w --public.
Aby rozwiązać ten problem, dostarczany jeden parametr: disable-host-check
. Pełne polecenie:ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public x.x.x.x
Aby dowiedzieć się więcej, kliknij tutaj
Otrzymałem ten błąd podczas próby uzyskania dostępu do naszej aplikacji za pomocą localtunnel
narzędzia.
Sugestia @tarn (z komentarza do zaakceptowanej odpowiedzi) dodania --disableHostCheck true
do ng serve
polecenia załatwiła sprawę .
Oto rozwiązanie, jeśli ktoś nadal tkwi invalid host header
problemie:
Uruchomienie ng eject
spowoduje utworzenie webpack.config.js
. Biegnij, npm install
jeśli prosi. Dodaj poniżej "disableHostCheck":true
do devServer
w webpack.config.js
. Jak poniżej:
"devServer": {
"historyApiFallback": true,
"disableHostCheck" : true //<-- add this line
}
Następnie w opcji package.json
zmiany pliku start
poniżej w ng
ten sposób
"start": "webpack-dev-server --host 0.0.0.0 --port YOURPORT --public YOURIP:YOURPORT"
Teraz uruchom kątownik z npm start
poleceniem. Otóż to.
Zmień wiersz 425 w pliku „node_modules / webpack-dev-server / lib / Server.js” z false na true. to znaczy,
Przed: return false;
Zaktualizowano: powrót prawda;