news 2026/8/14 23:53:53

Vue3项目在Nginx中配置代理后端IP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue3项目在Nginx中配置代理后端IP

vite.config.js中配置的server.proxy仅在Vite 开发服务器(即你运行npm run devyarn dev时)生效。当你将 Vue 3 项目打包(npm run build)并部署到 Nginx 后,这个配置文件不会被带进生产环境,Nginx 也完全不会读取vite.config.js文件。


1. 为什么无效?

  • Vite 的代理原理:它基于 Node.js 的http-proxy库,在开发时启动了一个中间件服务。浏览器访问http://localhost:3000/api,Vite 服务器接收请求后转发给http://localhost:8060
  • Nginx 的托管原理:Nginx 直接托管dist目录下的静态文件(HTML/JS/CSS)。当浏览器请求/api时,请求直接打到 Nginx 监听的端口(如 80/443),Nginx 不会因为 Vite 的配置文件而自动代理。

2. 如何在 Nginx 中实现相同的代理效果?

你需要在Nginx 的配置文件(通常是nginx.conf/etc/nginx/conf.d/your-project.conf)中手动添加反向代理配置。

假设你的 Vue 应用部署在/usr/share/nginx/html,后端接口在http://localhost:8060,配置如下:

server { listen 80; server_name your-domain.com; # 你的域名或 IP # 托管 Vue 静态文件 location / { root /usr/share/nginx/html; try_files $uri $uri/ /index.html; # 解决 Vue Router 刷新 404 问题 } # 代理 /api 请求(等效于 Vite 的 proxy 配置) location /api { proxy_pass http://localhost:8060; # 对应 target # 等效于 changeOrigin: true proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 可选:如果你在 Vite 中配置了 rewrite,在这里对应修改 # 例如 Vite 的 rewrite: (path) => path.replace(/^\/api/, '') # 则这里 proxy_pass 末尾加斜杠:proxy_pass http://localhost:8060/; } }

配置完成后,执行nginx -t检查语法,然后nginx -s reload重载配置即可生效。


3. 特别提醒:跨域(CORS)

  • Vite 开发环境中,代理绕过了浏览器的跨域限制。
  • Nginx 生产环境中,使用上述proxy_pass同样绕过了跨域(因为请求是 Nginx 服务端转发的),不需要在后端代码中额外开启 CORS,除非前端直接请求后端 IP 而非通过 Nginx。

4. 补充:vite preview呢?

如果你运行npm run preview(即vite preview --port 3000),这个命令会启动一个生产预览服务器,此时server.proxy是生效的。但这仅用于本地预览,不适用于生产环境部署,且性能远不如 Nginx,不建议用这种方式替代 Nginx 对外提供服务。

总结:生产环境务必把代理逻辑写在 Nginx 配置中,vite.config.js里的server配置只属于开发环境。如果你对 Nginx 配置不熟悉,可以直接复制上面的location /api代码块使用。如果有路径重写等特殊需求,可以告诉我,我帮你调整配置。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 23:43:27

广告时代拼预算,AI时代拼信任!

过去二十年,企业竞争的核心阵地是广告和流量,谁投放多、谁曝光高、谁排名靠前,谁就更有可能获得客户。但一个正在发生的变化,开始重新定义品牌的竞争规则:越来越多消费者不再“搜索”,而是直接“问AI”。“…

作者头像 李华
网站建设 2026/8/14 23:42:57

Awoo Installer:Nintendo Switch游戏安装终极指南

Awoo Installer:Nintendo Switch游戏安装终极指南 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer Awoo Installer 是一款专为Nintendo …

作者头像 李华
网站建设 2026/8/14 23:32:55

从零搭建渗透测试环境,Kali Linux 与靶场实战操作手册

在开始任何技术探索之前,必须确立一条不可逾越的红线:所有渗透测试行为仅限于本地搭建的授权环境中。严禁对互联网上未授权的站点、服务器或任何第三方系统进行扫描与测试。这不仅关乎法律底线,更是每一位安全从业者应有的职业操守。在本地构…

作者头像 李华
网站建设 2026/8/14 23:26:36

在Windows上装安卓App,绕开模拟器的轻量解法:APK-Installer 实测

在Windows上装安卓App,绕开模拟器的轻量解法:APK-Installer 实测 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 如果此刻你的电脑里正躺着一个…

作者头像 李华
网站建设 2026/8/14 23:23:29

风电场高压开关柜无线测温应用:及时预警触头超温避免重大故障

摘 要:作为保证系统安全运行的重要设备的高压开关柜装置,其内部导电连接处过热会导致电气设备的损坏,更严重的是可能还会发生火灾等严重事故。因此,电力系统中电器设备安全运行的一个重要课题就是对高压开关柜实施在线监测。本文主要研究的是针对高压开关柜接点的无…

作者头像 李华