浅析如何解决invalid host header:修改host运行项目报错invalid host header

一、问题场景:

  想把本地的项目访问localhost:3000访问修改成某个域名,比如a.baidu.com来访问。通过配置host:127.0.0.1 a.baidu.com,但是访问的时候报错:显示invalid host header

  原因:这句话的意思是:无效的Host请求头;

  因为vue (React同理)项目在调试时相当于启动了一个服务器以供我们访问(当我们build后,就可以放在我们自己的nginx等服务器),如果不配置host就无法访问。

  测试环境下的 webpack 有一个host检查功能:webpack的devServer中,如果不配置host就无法访问,解决办法有好几种,可以去设置host,比如:

二、解决

1、设置允许访问域名:
复制代码
module.exports = {
  //...
  devServer: {
    allowedHosts: [
      'host.com', // 允许访问的域名地址
      '.host.com'   // .是二级域名的通配符   
    ],
  },
};
复制代码

2、设置跳过host检查:

devServer: {
  disableHostsCheck: true
}

  同时,修改配置需要重启项目。

三、historyApiFallback

  historyApiFallback 用于在使用 Vue Router 或类似的前端路由库时,处理路由切换时的页面刷新问题。当你使用浏览器的前进和后退按钮或手动输入URL时,Vue Router或其他路由库会在前端进行路由切换,但如果没有合适的配置,刷新页面时会导致404错误。

  用vuereact开发的app,一般情况下可能会使用路由,如果是使用historyh5的这个路由方式,我们刷新页面可能会报错,这样可以使用在devServer中添加historyApiFallback:true,来解决这一问题
historyApiFallback:true

 

posted @   古兰精  阅读(3737)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示