Текущая команда: ng serve --host --public $IP:$PORT
Результаты на моем сайте:
Недействительный заголовок хоста
Ответы:
--disable-host-check
Флаг работает отлично , если вам нужно работать с Cloud9.
Я использую следующую команду:
ng serve --open --host $IP --port $PORT --disable-host-check
--disable-host-check
вы получите предупреждение в консоли. WARNING: Running a server with --disable-host-check is a security risk. See
medium.com/webpack/… для получения дополнительной информации.
Вам нужно указать хост
ng serve --port 8080 --host 123.34.56.78
См. Эту проблему
Отредактируйте следующую строку в
node_modules/webpack-dev-server/lib/Server.js
(строка 425), изменив ее на:return true;
Я использую Cloud9 IDE затем запустите:
ng serve --port 8080 --host 0.0.0.0
. Теперь работает нормально.
ng serve --host 0.0.0.0 --disable-host-check
Это работает для меня:
ngrok http --host-header=rewrite PORT
например :
ngrok http --host-header=rewrite 4200
В моем случае я использую свое имя хоста для обновления файла / etc / hosts.
vi /etc/hosts
и добавьте свое имя хоста в последнюю строку.
127.0.0.1 myHostName.com
для подключения моего сервера,
ng serve -o
Произошла ошибка при подключении к myHostName.com:4200 .
Итак, мне это понравилось,
ng serve --host 0.0.0.0 --disableHostCheck true
Повторное подключение к myHostName.com:4200 :)
В angular.json добавьте следующее в разделе « Architect» -> «serve ->»
"disableHostCheck": true
Получил ответ с этой страницы проблемы Github
ng serve
(и, вероятно, хотите, чтобы он
Использование приведенной ниже команды работает для меня.
ng serve --host 0.0.0.0 --port 8080 --public ipAddress
Я столкнулся с такой же ошибкой после развертывания моего приложения angular на экземпляре AWS EC2 с изображением битнами. Затем я запустил свое приложение с помощью команды ниже, и оно сработало нормально.
ng serve --host 0.0.0.0 --port 8080 --disableHostCheck true
Протестировано на приведенной ниже версии Angular и на сервере Amazon.
Angular CLI: 6.0.8
Node: 8.11.3
OS: linux x64
Angular: 5.2.8
Параметры команды ng были изменены, теперь используйте configuration
вместо env
. Команда, которая сработала для меня,
ng serve --configuration=dev --port 4009 --host 0.0.0.0 --publicHost myhost.com
Никогда не используйте --disable-host-check
на общедоступном сервере. Angular предупредит вас, если вы воспользуетесь этим. Это может работать, но это серьезная проблема безопасности. Вы получите это сообщение, если используете этот флаг.
ВНИМАНИЕ: запуск сервера с --disable-host-check представляет собой угрозу безопасности. См. Https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a для получения дополнительной информации.
Пожалуйста, найдите время, чтобы прочитать эту статью, которую стоит прочитать.
ng serve --host 0.0.0.0 --public-host sub.myhost.com
Это было фактически решено в одном из комментариев к видео на YouTube благодаря Матеушу Саве.
Зайдите сюда, чтобы проверить это.
- указание хоста в package.json больше не работает -
просто обратите внимание, что нет необходимости использовать команду, которая использовалась в видео, нижеприведенных инструкций достаточно, чтобы приложение работало с использованием обычной angular-cli
разработки
сначала нужно найти хосты в папке etc /
введите cd ..
в консоли, пока не дойдете до корня Linux-машины, и всегда проверяйте ls
то, что указано
если вы видите файл hosts , значит, вы находитесь в нужном месте, а затем используйте его sudo vi hosts
для его редактирования
добавьте строку под всеми IP-адресами "0.0.0.0 yourworkspace-yourusername.c9users.io " (без кавычек, конечно :-))
также в package.json измените "start": "ng serve -H yourworkspace-yourusername.c9users.io "
тогда вам просто нужно перейти в папку приложения и запустить приложение в терминале с помощью npm start
проверил только сейчас и это сработало
См. Https://github.com/angular/angular-cli/issues/6070
использовать общественный флаг. например:ng serve --host <workspace>-<username>.c9users.io --public
Вам просто нужно изменить 0.0.0.0 на свой локальный IP-адрес, например 192.168.1.42, и он должен работать.
ng serve --host 192.168.1.42
Дело в том, что вы можете получить доступ только к той ссылке, которую указали в параметре --public. В моем случае я предоставил IP-адрес в --public и пытаюсь получить к нему доступ с помощью домена, который я зарегистрировал для этого IP. Но ng привязывает его к единственному хосту, указанному в --public.
Чтобы решить эту проблему, я поставляется еще один параметр: disable-host-check
. Полная команда:ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public x.x.x.x
Чтобы узнать больше, нажмите здесь
Я получал эту ошибку при попытке доступа к нашему приложению с помощью localtunnel
утилиты.
Предложение @tarn (из комментария к принятому ответу) добавления --disableHostCheck true
к ng serve
команде сработало.
Вот решение, если кто-то все еще застрял в invalid host header
проблеме:
Запустите, ng eject
это создаст файл webpack.config.js
. Беги, npm install
если просит. Добавить ниже , "disableHostCheck":true
чтобы devServer
в webpack.config.js
. Как показано ниже:
"devServer": {
"historyApiFallback": true,
"disableHostCheck" : true //<-- add this line
}
Затем в опции package.json
изменения файла start
под ng
таким
"start": "webpack-dev-server --host 0.0.0.0 --port YOURPORT --public YOURIP:YOURPORT"
Теперь запустите angular с помощью npm start
команды. Это оно.
Измените строку 425 в файле "node_modules / webpack-dev-server / lib / Server.js" с false на true. т.е.
До: вернуть false;
Обновлено: return true;