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 使配置生效。