Nginx 作为反向代理服务器时,如果配置不当可能导致代理的 Vue 项目返回 404 错误。这通常是因为 Nginx 无法正确地处理 Vue 项目中的前端路由。
解决方法:
确保 Vue 项目的构建输出中包含正确的 publicPath。
在 Nginx 配置中启用 try_files 指令,以便 Nginx 在找不到指定的静态文件时回退到 Vue 应用的入口文件(通常是 index.html)。
以下是一个简单的 Nginx 配置示例:
server {
listen 80;
server_name your-domain.com;
location / {
root /path/to/your/vue/project/dist;
try_files $uri $uri/ /index.html;
index index.html;
}
}
在这个配置中:
listen 指定了监听的端口。
server_name 指定了域名。
location / 块定义了处理根路径的请求。
root 指定了 Vue 项目构建后的静态文件目录。
try_files 指令告诉 Nginx 首先尝试提供匹配的文件或目录,如果找不到则回退到 /index.html。
index 指令指定了默认的索引页面。
确保将 /path/to/your/vue/project/dist 替换为你的 Vue 项目构建后的实际文件夹路径。配置完成后,重新加载或重启 Nginx 使配置生效。