"无效的主机标头"在VM内部提供Web应用程序时(Angular2CLI)

时间:2017-07-17 01:07:34

标签: angularjs node.js ubuntu vagrant virtual-machine

我正在尝试从Ubuntu 16 64位虚拟机中运行我的Web应用程序。当然,这意味着我无法host成为localhost,因此我更改了.angular-cli.jsondefaults文件中的主机:

"defaults": {
    "serve": {
      "host": "0.0.0.0"
    },
    "styleExt": "css",
    "component": {}
  }

当我执行npm start并转到VM的URL时,我会看到一个页面,其中包含"无效的主机标题"。我究竟做错了什么?如何运行Web应用程序并正确访问它?

我是Angular的新手并且正在学习本教程:https://angular.io/guide/quickstart。我也在使用Vagrant。

任何帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:0)

事实证明我必须使用private_network IP地址作为主机,它位于此行的Vagrantfile内:

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.100.5"

尽管如此,这只能让它在本地运作。如果其他人有答案,我们将不胜感激!

答案 1 :(得分:0)

主机应该是192.168.0.100(你的ubuntu服务器ip)。

也许你可以编辑package.json

在开始cmd中添加host段。

"start": "*************   --host 192.168.0.100 ",

和npm start就可以了。