"Недопустимый заголовок хоста" при запуске Angular/cli сервера разработки c9.io

Текущая команда: ng serve --host --public $IP:$PORT

Результаты на моем сайте:

Недопустимый заголовок хоста

Ответ 1

Флаг --disable-host-check отлично работает, если вам нужно запустить из Cloud9.

Я использую следующую команду:

ng serve --open --host $IP --port $PORT --disable-host-check

Ответ 2

Смотрите эту проблему

Отредактируйте следующую строку в node_modules/webpack-dev-server/lib/Server.js (строка 425), изменив на:

return true;

Я использую cloud9 IDE, затем запустите: ng serve --port 8080 --host 0.0.0.0. Сейчас работает нормально.

Ответ 3

Вам нужно указать хост

ng serve --port 8080 --host 123.34.56.78

Ответ 4

Использование приведенной ниже команды работает для меня.

ng serve --host 0.0.0.0 --port 8080  --public ipAddress

Ответ 5

Вам нужно выполнить следующее: ng serve --port 8080 --publicHost 123.34.56.78 (ваш IP-адрес сервера или имя хоста). работает для меня.

Ответ 6

Я столкнулся с такой же ошибкой после развертывания моего приложения angular в экземпляре AWS EC2 с изображением bitnami. Затем я запустил приложение с командой ниже, и он работал нормально.

ng serve --host 0.0.0.0 --port 8080 --disableHostCheck true

Ответ 7

Это было фактически разрешено в одном из видео-комментариев youtube благодаря Mateusz Sawa

Go здесь, чтобы проверить это.

- указать хост в package.json больше не работает -

просто отметим, что нет необходимости использовать команду, которая использовалась в видео, достаточно инструкций, чтобы приложение работало с помощью обычной angular-cli development

сначала вам нужно найти хосты в папке и т.д.

введите cd .. в консоли до тех пор, пока вы не достигнете корня Linux-машины, и всегда проверяйте ls, что указано

если вы видите файл hosts, чем находитесь в нужном месте, а затем используйте sudo vi hosts для его редактирования

добавить строку ниже всех ip-адресов "0.0.0.0 yourworkspace-yourusername.c9users.io" (без кавычек, конечно:-))

также в package.json change "start": "ng serve -H yourworkspace-yourusername.c9users.io"

вам просто нужно перейти в папку приложения и запустить приложение в терминале с помощью npm start

проверил его только сейчас, и он работал

Ответ 8

Используя нижеприведенную команду с последней версией Angular, для меня работает CLI.

ng serve --host 0.0.0.0 --public-host <workspace>-<username>.c9users.io

Ответ 9

Использование команды ниже работает для меня для Angular CLI: 6.0.7

ng serve --host 0.0.0.0 --port 8080 --disableHostCheck

Ответ 10

Протестировано на приведенной ниже версии 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 для получения дополнительной информации.

Пожалуйста, найдите время, чтобы прочитать эту статью, которую стоит прочитать.

Ответ 11

У меня такая же ошибка. Открытый вариант решения проблемы для меня, как показано ниже:

ng serve --host 0.0.0.0 --port 8080 --live-reload-port 8081 --public $C9_HOSTNAME

Ответ 13

Вы должны просто изменить 0.0.0.0 на свой локальный IP-адрес, например 192.168.1.42, и он должен работать.

ng serve --host 192.168.1.42

Ответ 14

Дело в том, что вы можете получить доступ только к ссылке, указанной в параметре --public. В моем случае я предоставил IP-адрес в -публике и попытался получить к нему доступ с доменом, зарегистрированным на этом IP-адресе. Но ng связывает его для единственного хоста, предоставленного в --публичной.

Чтобы решить эту проблему, я поставил еще один параметр: disable-host-check. Полная команда: ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public x.x.x.x

Чтобы узнать больше, нажмите здесь

Ответ 15

Я получал эту ошибку при попытке получить доступ к нашему приложению с помощью утилиты localtunnel.

@tarn предложение (из комментария о принятом ответе) добавления команды --disableHostCheck true в команду ng serve выполнило трюк.

Ответ 16

Вот решение, если кто-то все еще застревает в 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. Вот оно.

Ответ 17

Ниже оба решения будут работать. В командной строке:

ng serve --public --host yourip --port yourportnumber

ng serve --host 0.0.0.0 --port yourport --disableHostCheck true

Ответ 18

В моем случае я использую свое имя хоста для обновления файла /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 :)

Ответ 19

Это работает для меня ngrok http --host-header = переписать ПОРТ

например: ngrok http --host-header = rewrite 4200

Ответ 20

Измените строку 425 в файле "node_modules/webpack-dev-server/lib/Server.js" с false на true. т.е.

До: вернуть ложь;

Обновлено: верните истину;