【已解决】多种方式最新解决Invalid Host header(无效的主机头)服务器域名访问出现的错误

这篇具有很好参考价值的文章主要介绍了【已解决】多种方式最新解决Invalid Host header(无效的主机头)服务器域名访问出现的错误。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🐱 个人主页:不叫猫先生,公众号:前端舵手
🙋‍♂️ 作者简介:CSDN博客专家、内容合伙人,2023新星计划导师,前端领域优质创作者,共同学习共同进步,一起加油呀!
📢 资料领取:前端进阶资料可以找我免费领取

【已解决】多种方式最新解决Invalid Host header(无效的主机头)服务器域名访问出现的错误,Invalid Host,allowedHosts,vue,原力计划

Invalid Host header这个报错在网上有很多文章介绍解决办法,但是很多都没有没有用,这里为兄弟们排下坑,本文的解决方法已经验证没有问题,兄弟们可放心借鉴.

一、报错现象

yarn serve 项目启动成功,但是页面显示Invalid Host header
【已解决】多种方式最新解决Invalid Host header(无效的主机头)服务器域名访问出现的错误,Invalid Host,allowedHosts,vue,原力计划

二、报错原因分析

新版的webpack-dev-server出于安全考虑会默认检查hostname,用于防止不受信任的主机访问DevServer,当浏览器发出请求时,它会会检查请求中的主机头,若hostname 没有配置在内,则中断访问。

三、项目环境

Vue3:3.0.0
Npm:6.14.17
Node:16.13.0

四、解决方案

1、allowedHosts

设置allowedHosts,这个选项是设置允许访问开发服务器的主机列表。将其设置为 all 表示允许任何主机访问开发服务器。这个选项与主机检查相关,但它更精确地控制哪些主机可以访问开发服务器,而不是完全禁用主机检查。也可以设置多个主机。具体查看官方文档allowedHosts官方介绍

  • 设置所有主机列表
allowedHosts: "all"
  • 设置部分主机列表
allowedHosts: ['xxx.com','xxx.com']

具体解决如下:

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  devServer: {
    host: 'localhost', 
    port: 8089,
    historyApiFallback: true,
    allowedHosts: "all"
  }
})

2、disableHostCheck

在vue-cli版本为2.x的情况下该设置生效disableHostCheck允许在开发服务器中禁用主机检查。默认情况下,Webpack DevServer会检查请求的主机是否与配置中的主机匹配,以增加安全性。如果配置中没有明确指定主机(host),Webpack DevServer将只允许本地主机访问,以防止潜在的安全风险。通过将 disableHostCheck 设置为 true,可以允许来自其他主机的请求,但这可能会增加潜在的安全风险,因此谨慎使用。

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  disableHostCheck:true,
  devServer: {
    host: 'localhost', 
    port: 8089
  }
})

如果vue-cli版本为3.x使用的时候会报下面的错误:

ValidationError: Invalid options object. Dev Server has been initialized using an options object that does not match the API schema.
         - options has an unknown property 'disableHostCheck'. These properties are valid:
           object { allowedHosts?, bonjour?, client?, compress?, devMiddleware?, headers?, historyApiFallback?, host?, hot?, http2?, https?, ipc?, liveReload?, magicHtml?, onAfterSetupMiddleware?, onBeforeSetupMiddleware?, onListening?, open?, port?, proxy?, server?, setupExitSignals?, setupMiddlewares?, static?, watchFiles?, webSocketServer? }

【已解决】多种方式最新解决Invalid Host header(无效的主机头)服务器域名访问出现的错误,Invalid Host,allowedHosts,vue,原力计划
所以需要看清自己的版本。

五、拓展

1、historyApiFallback

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

historyApiFallback:true

2、transpileDependencies

transpileDependencies用于配置需要通过 Babel 转译的依赖模块。默认情况下(false),Vue CLI Babel 只会转译应用程序代码,而不会转译依赖模块(node_modules)中的代码。但有些依赖模块可能包含 ES6+ 语法,如果你需要转译这些依赖模块,可以使用 transpileDependencies 进行配置。但是transpileDependencies: true 只会广度遍历编译三方依赖,对于依赖的依赖则不会处理。

transpileDependencies:true
transpileDependencies:['xxxx']//制定特定的依赖进行转译

3、lintOnSave

lintOnSave 用于控制在开发和保存文件时是否执行 ESLint 静态代码检查。ESLint 可以帮助你捕获潜在的代码问题和风格违规。

如果将 lintOnSave 设置为 true,则在保存文件时,Vue CLI 会自动运行 ESLint 检查,如果发现问题,将会在开发过程中报告错误和警告。
如果将 lintOnSave 设置为 false,则禁用了自动的 ESLint 检查,你需要手动运行检查。文章来源地址https://www.toymoban.com/news/detail-712837.html

到了这里,关于【已解决】多种方式最新解决Invalid Host header(无效的主机头)服务器域名访问出现的错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决忽略无效分布的警告WARNING: Ignoring invalid distribution

    忽略无效分布的警告 WARNING: Ignoring invalid distribution -rotobuf (c:userslaptopanaconda3libsite-packages) WARNING: Ignoring invalid distribution -ip path to package 为什么Python出现忽略无效分布的警告? 这种情况一般发生在你尝试pip安装包时,你的终端可能会出现类似于此的错误。这是因为当pip更新或

    2024年02月15日
    浏览(29)
  • docker load镜像文件报错:archive/tar: invalid tar header解决

    使用windows下载文件,上传到linux,执行导入镜像命令报错:archive/tar: invalid tar header # docker load mycat.tar.gz Error processing tar file(exit status 1): archive/tar: invalid tar header   经对比发现,windows下载的文件,比下载目录文件大几M,果断使用linux curl命令下载,发现下载的文件与下载目录文

    2024年02月11日
    浏览(37)
  • docker:Untar exit status 1 archive/tar: invalid tar header 错误解决

    由于我的内网服务器不可连接外网,所以需要在能连接外网的机器上将镜像导出来再上传到内网服务器中,以供内网服务器使用。 所以就用到了docker save命令,我根据网上查到的命令,将镜像导出到本地: 然后上传到内网服务器中,使用docker load命令加载镜像: 结果出现如下

    2024年02月12日
    浏览(32)
  • nginx设置add_header失效 配置cors跨域失效无效的解决方案

    希望对大家有帮助,有用的话记得点个赞评个论,让俺知道这个法子可以帮助到大家哟!(虽然我这个法子很野) 最近在完成一个项目,后端API地址和前端地址不一致,这就涉及到了跨域的问题。 由于服务端加了一层Nginx作为反代,所以很自然的想到要去 .conf 配置文件中 加

    2024年02月12日
    浏览(29)
  • PVE 虚拟机主机 更换国内源以及解决无效订阅的问题

     注:本文以 pve 7.3.3 为例。 替换前建议先更新下证书,否则可能由于证书不可用导致 https 无法使用,进而无法下载所有软件。 apt install apt-transport-https ca-certificates 首先替换通用软件源, Debian 的软件源配置文件是 /etc/apt/sources.list ,备份后将其中内容修改为以下即可。 # 默

    2024年02月06日
    浏览(39)
  • uniapp开发微信小程序登录获取openid并解决code无效问题:invalid code

    场景: 实现微信支付的时候需要获取到openid,openid需要在登录的时候用登录返回的code获取 1.登录获取 code ,用code获取 openid 解决方法: 报错code无效:invalid code: 1.先在微信小程序管理平台找到APPID,这里的 https://mp.weixin.qq.com/wxamp/devprofile ; 2.检查项目的project.config.json的APP

    2024年02月11日
    浏览(46)
  • Handshake failed due to invalid Upgrade header: null 解决方案以及连接60s,信息不交互,连接断开

    1. 问题背景:因为后端用了nginx代理,所以websocket连接的过程中报错: Handshake failed due to invalid Upgrade header: null 2. 解决办法:在nginx中添加以下代码: 启用支持websocket连接 说明: proxy_http_version: 1.1; (告诉nginx使用HTTP/1.1通信协议,这是websocket必须要使用的协议) proxy_set_header U

    2024年02月13日
    浏览(41)
  • ping ip主机提示Destination host unreachable问题解决方法小结

    ping 出现destination host unreachable的问题 一、问题一:虚拟机和主机互ping不通 安装了虚拟机,以太网选的是默认的桥接,可安装完后,不能和主机ping通,也不能ping通网关192.168.1.1,显示\\\"destination host unreachable\\\" 在VMware Workstation中,单击菜单编辑-虚拟网络设置(S),打开\\\"虚拟网络编辑器\\\",在

    2024年02月07日
    浏览(33)
  • SourceTree安装、跳过登陆、 这是一个无效的源/url路径多种原因解决方案

    https://www.sourcetreeapp.com/ 安装 SourceTree 时,需要使用atlassian授权,即使翻墙这个过程也会出现反应慢,收不到邮件或短信的问题,现提供跳过 atlassian账号 授权方法。 安装之后,转到用户本地文件夹下的 SourceTree 目录,没有则新建: %LocalAppData%AtlassianSourceTree 请把以上路径直

    2024年02月05日
    浏览(39)
  • [已解决]该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系。

    调整hvie 的参数后导致该主机与 Cloudera Manager Server 失去联系的时间过长 主机离家出走了! 出现问题后立马参数修改回来; 但是还是发现有这样的报错: 网上百度,各种操作,大概总结为2点:千万别信 1 修改hostname,删除cm_guid 2 删除主机重新添加-我的是线上环境不能删除,

    2024年02月05日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包