Invalid Host header 服务器域名访问出现的问题

文章介绍了两种解决Vue项目中InvalidHostHeader错误的方法:一是设置允许访问的域名,包括使用通配符;二是关闭主机检查。此外,提到了在不同VueCLI版本下修改配置文件的位置和方式,以及使用nginx作为代理服务器的解决方案。
摘要由CSDN通过智能技术生成

第一种解决方案

设置允许访问的域名

module.exports = {
  //...
  devServer: {
    allowedHosts: [
      'host.com', // 允许访问的域名地址,即花生壳内网穿透的地址
      '.host.com'   // .是二级域名的通配符   
    ],
  },
};

还有一种更简单的解决方案

更简单的解决方案

设置跳过host检查

// vue3 vue.config.js
module.exports = {
    // 跳过检查host
    devServer: { disableHostCheck: true }
}
// 在vue-cli版本为2.x的情况下修改webpack.dev.conf.js中的devServer对象加入disableHostCheck: true
devServer: {
  disableHostCheck: true,
}

不生效?

必须要重启!必须要重启!必须要重启!

在或者:

vue-cli搭建的环境,用nginx做代理服务器,访问时显示:Invalid Host header

经查是因为新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname不是配置内的就不能访问。这样有2中方法,一种是设置跳过host检查,一种是直接host设置成你的地址。

1、关闭host检查

可以在build目录下的webpack.dev.conf.js文件,devServer下添加disableHostCheck: true,跳过检查

同样的原理,可以在package.json文件修改scripts命令:webpack-dev-server --disableHostCheck=true

2、设置成你的host,加入你的host是xxx.com,同样2中方法,修改配置文件,和script命令

在config目录下修改index.js文件的host,这个默认是localhost,可修改成 xxx.com

package.json的script语句: webpack-dev-server --host=xxx.com或者--public=xxx.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值