vue3配置caddy作为静态服务器,在浏览器地址栏刷新出现404

vue3配置caddy作为静态服务器,在浏览器地址栏刷新出现404

  • [1 情况描述](#1 情况描述)
  • [2 原因](#2 原因)
  • [3 配置](#3 配置)

1 情况描述

在vue打包之后,形成dist文件,采用caddy作为静态资源服务器。在浏览器中输入域名时可以访问网站,但是,进过路由导航栏内部的跳转之后,想要在浏览器中刷新资源,发现浏览器出现404。

2 原因

这个主要是vue的历史记录模式导致的。

由于我们的应用是一个单页的客户端应用,如果没有适当的服务器配置,用户在浏览器中直接访问 https://example.com/user/id,就会得到一个 404 错误。

这是因为单页的客户端应用中,所有资源请求都是通过打包后的index.html作为入口进行处理的。这时如果只是通过配置的根目录进行访问,那肯定找不到。

这时应该将没有找到的路由全部指向index.html中。

3 配置

handle 的使用,可以有效的隔离不同的请求,防止后端的请求被错误的判断为前端的请求。

复制代码
example.com {

	handle /api/* {
		reverse proxy localhost:9911
	}
	handle {
		root * /home/www/dist
		encode zstd gzip
		file_server
		try_files {path} /
	}
}

https://router.vuejs.org/zh/guide/essentials/history-mode.html#Caddy-v2

相关推荐
Coodor2 分钟前
在前端如何转换IC卡卡号格式
前端·javascript·nfc·卡号格式
vivo互联网技术10 分钟前
四年、十次告警、数十个技术决策:一个海外电商平台的高并发治理实录
服务器·redis·高并发·热key·性能治理·缓存治理
Hilaku1 小时前
Bun 真的能取代 Node.js 吗?
前端·javascript·程序员
流光D1 小时前
AI时代,搭建 web 站点并配置 nginx 反向代理流程
运维·服务器·前端·人工智能·nginx·ai·ai编程
木公子2 小时前
Vue3源码精读04:Scheduler 调度器深度解析|异步批量更新与任务队列源码全解
前端·vue.js
huainingning2 小时前
华三华为锐捷迈普中兴交换机二三层接口切换命令
服务器·网络·华为
开开心心就好2 小时前
手机悬屏翻译工具外语游戏漫画APP全覆盖
android·前端·javascript·python·游戏·pdf·html
奇树谦2 小时前
Seaweed中filer.sync原理
linux·服务器·网络
Huangjin007_2 小时前
【Linux 系统篇(十六)】进程(四) : 僵尸进程、孤儿进程、进程优先级
linux·运维·服务器
光影少年2 小时前
react navite封装一个RN 通用按钮组件
前端·javascript·react native·react.js·前端框架