当前命令:ng serve --host --public $IP:$PORT
我网站上的结果:
无效的主机标头
答案 0 :(得分:50)
如果您需要从Cloud9运行,--disable-host-check
标志可以正常工作。
我使用以下命令:
ng serve --open --host $IP --port $PORT --disable-host-check
答案 1 :(得分:22)
您需要指定主机
ng serve --port 8080 --host 123.34.56.78
答案 2 :(得分:20)
请参阅this issue
编辑以下行
node_modules/webpack-dev-server/lib/Server.js
(第425行),改为:return true;
我正在使用cloud9 IDE然后运行:
ng serve --port 8080 --host 0.0.0.0
。 现在工作正常。
答案 3 :(得分:8)
使用以下命令对我有用。
ng serve --host 0.0.0.0 --port 8080 --public ipAddress
答案 4 :(得分:6)
您需要运行以下命令: ng serve --port 8080 --publicHost 123.34.56.78 (您的服务器IP或主机名)。适合我。
答案 5 :(得分:5)
在具有bitnami图像的AWS EC2实例上部署我的角度应用程序后,我遇到了同样的错误。然后我使用下面的命令启动了我的应用程序,它工作正常。
ng serve --host 0.0.0.0 --port 8080 --disableHostCheck true
答案 6 :(得分:4)
使用以下命令适用于Angular CLI:6.0.7
datasets: [
{
label: 'starts1',
data: [0, 0, 0, 0] and so on
backgroundColor: "rgb(255,0,0)",
},
]
答案 7 :(得分:3)
由于 Mateusz Sawa
,这实际上是在youtube视频评论之一中解决的转到here查看。
- 在package.json中指定主机不再起作用 -
请注意,没有必要使用视频中使用的命令,以下说明足以使应用程序使用常规angular-cli
开发
首先,您需要在 etc / 文件夹中找到主机
在控制台中键入cd ..
,直到到达linux计算机的根目录并始终使用ls
检查列出的内容
如果您看到主机文件,而不是您在正确的位置,然后使用sudo vi hosts
进行编辑
在下面添加所有IP地址的行“0.0.0.0 yourworkspace-yourusername.c9users.io ”(当然没有引号:-))
也在package.json中更改 “开始”:“ng serve -H yourworkspace-yourusername.c9users.io ”
然后您只需要转到应用程序文件夹并使用npm start
刚刚检查过它并且有效
答案 8 :(得分:3)
在以下版本的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 有关更多信息。
请花一些时间阅读那篇值得一读的文章。
答案 9 :(得分:2)
使用以下命令和最新版本的Angular CLI对我有用。
ng serve --host 0.0.0.0 --public-host <workspace>-<username>.c9users.io
答案 10 :(得分:2)
这对我有用 ngrok http --host-header =重写端口
例如: ngrok http --host-header = rewrite 4200
答案 11 :(得分:2)
就我而言,我使用主机名来更新/ etc / hosts文件。
datetime
并在最后一行添加您的主机名。
vi /etc/hosts
连接服务器,
127.0.0.1 myHostName.com
连接到 myHostName.com:4200 时发生错误。
所以,我这样使用
ng serve -o
重新连接到 myHostName.com:4200 :)
答案 12 :(得分:1)
ng serve --host 0.0.0.0 --port 1234 --public-host mydomain.com
这对我有用。
答案 13 :(得分:1)
以下两种解决方案都有效。在命令行中:
ng serve --public --host yourip --port yourportnumber
ng serve --host 0.0.0.0 --port yourport --disableHostCheck true
答案 14 :(得分:1)
我得到了同样的错误。公共选项为我解决了以下问题:
ng serve --host 0.0.0.0 --port 8080 --live-reload-port 8081 --public $C9_HOSTNAME
答案 15 :(得分:0)
如果有人仍然遇到 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"
现在使用npm start
命令运行angular。
多数民众赞成。
答案 16 :(得分:0)
尝试使用localtunnel
实用程序访问我们的应用时出现此错误。
@tarn的建议(来自对已接受答案的评论)将--disableHostCheck true
添加到ng serve
命令就行了。
答案 17 :(得分:0)
问题是你只能访问你在--public参数中指定的链接。就我而言,我在--public中提供了IP地址,并尝试使用我针对该IP注册的域来访问它。但ng绑定它是--public。
中提供的唯一主机为了解决这个问题,我又提供了一个参数:disable-host-check
。
完整命令:ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public x.x.x.x
了解更多信息,click here
答案 18 :(得分:0)
您应该将0.0.0.0更改为您的本地IP地址,如192.168.1.42,它应该可以正常工作。
ng serve --host 192.168.1.42
答案 19 :(得分:0)
答案 20 :(得分:0)
感谢所有变通办法,--disable-host-check对我有用,但是我不明白为什么我必须使用该变通办法,为什么我不能像其他任何新应用一样使用它。 / p>
答案 21 :(得分:0)
请参阅:https://github.com/angular/angular-cli/issues/6070
使用公共标志。例如:ng serve --host <workspace>-<username>.c9users.io --public
答案 22 :(得分:-1)
试一下
ng serve --host <private IP> --port <host port> --public-host <public IP>
答案 23 :(得分:-3)
将文件“ node_modules / webpack-dev-server / lib / Server.js”中的第425行从false更改为true。即
之前:返回false;
已更新:返回true;