修复Angular中的“无效的主机头”

时间:2018-09-06 22:56:24

标签: angular url hosts

我在Angular v4中有一个应用程序,必须更改访问URL的scssdependong。 例如: 如果浏览器中的链接为“ example.com”,则该应用的背景色为:黑色 如果链接为“ example2.com”,则背景颜色为红色

我有下一个问题:

当我转到C:\ Windows \ System32 \ drivers \ etc中的主机,并在主机中设置下一个配置时 127.0.0.1 example.com 127.0.0.1 example2.com

然后我使用“ example.com:4200”运行该应用,但该应用未运行...浏览器向我显示此消息

“无效的主机标头”

如何解决此问题?

3 个答案:

答案 0 :(得分:5)

这对我来说是在7.2.1下出现的

假设您使用的是Angular CLI,解决方案是在architect.serve>选项下的angular.json中添加以下行:

"disableHostCheck": true

答案 1 :(得分:3)

原因-

大多数面向开发的应用程序服务器(例如ng,webpack-dev-server或WAMPP)默认仅绑定到localhost(或在某些情况下直接阻止流量)。从本质上讲,仅允许从自己定向到您的计算机的流量通过,这意味着通过隧道的流量与直接来自您的计算机的流量无法正常工作。即使它可以在您的计算机上运行,​​服务器的设置方式也可以使它甚至其他本地计算机也无法连接到它。

如何解决?

大多数情况下,解决方法是告诉服务器重新启动并允许来自本地主机的连接。

  1. ng(角度) => 杀死服务器并重新启动它,添加

    --host 0.0.0.0 --disableHostCheck true 
    

    该命令。

  2. Angular2 => 与上述相同,但添加

    --host 0.0.0.0  --disable-host-check
    

    代替

  3. webpack-dev-server => 终止服务器并重新启动,添加

    --host 0.0.0.0
    

    该命令。

有时在这里也需要

--disable-host-check

答案 2 :(得分:0)

您可能正在使用webpack开发服务器。 它可以在webpack.config.js中的devServer中进行设置:

  • host
  • allowedHosts
  • disableHostCheck

也许其中之一适合您?

来源: