惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
S
Securelist
T
Threat Research - Cisco Blogs
Forbes - Security
Forbes - Security
AI
AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Attack and Defense Labs
Attack and Defense Labs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
W
WeLiveSecurity
P
Palo Alto Networks Blog
O
OpenAI News
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
T
Tor Project blog
T
Threatpost
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
A
Arctic Wolf
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Latest news
Latest news
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tenable Blog
量子位
L
LINUX DO - 最新话题
Webroot Blog
Webroot Blog
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
Hacker News: Ask HN
Hacker News: Ask HN
U
Unit 42
T
Tailwind CSS Blog
WordPress大学
WordPress大学
N
News | PayPal Newsroom
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Stack Overflow Blog
Stack Overflow Blog
Cloudbric
Cloudbric
C
Check Point Blog
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
The Hacker News
The Hacker News
B
Blog

博客园 - lizhigang

DBeaver 打开 utf8的sql文件 SMT 贴片机与 MES 系统集成指南 容器访问外部服务(10.100.1.90:9090)防火墙规则配置总结 Docker 容器间通信故障排查与修复操作总结 Docker 容器部署与运维总结报告 Nginx Docker 容器白名单配置操作总结 使用 pnpm 构建 Vue2 项目操作总结(Node 16 → Node 22) 前端项目 Docker 镜像构建完整操作总结 Windows 11 下使用 MySQL Workbench 还原多数据库备份文件操作指南 在 WSL2 + Docker Desktop 环境下构建前后端 Docker 镜像 从内网私有仓库迁移镜像到阿里云 ACR 完整指南 wsl网络设置允许访问ssh(端口22) 在 Windows 11 上安装 Docker 访问数据库报错 Windows系统运行RuoYi-Vue完整指南 RuoYi-Vue 项目结构分析 win11 报错 windows 11 如何使用 Microsoft Hyper-V VMware 替代产品 IntelliJ IDEA 社区版支持 Spring Boot 开发说明文档 imes开发部署(IDEA社区版 差异) IntelliJ IDEA 社区版默认支持 Spring Boot 吗? imes开发部署 IDEA 端口被占用 解决办法 使用MySQL Workbench进行数据库备份 ruoyi-nbcio ktg-mes、ktm-mes-ui部署 Widows下安装和配置Redis Windows下Redis安装与配置全攻略 mes开源 imes:注意 若依框架:开源
Nginx配置
lizhigang · 2026-03-25 · via 博客园 - lizhigang

若依(前后端分离版)的标准架构是:
静态资源(html, css, js):由 Nginx 直接从 /var/www/ruoyi 读取并返回给浏览器。
接口请求(/prod-api/...):由 Nginx 反向代理转发给后端的 8080 端口。

请使用以下配置替换你现有的配置:

server {
listen 80;
server_name _;

1. 设置前端静态文件根目录

root /var/www/ruoyi;
index index.html;

2. 处理前端页面请求 (核心修改)

location / {
# 尝试查找真实文件,找不到则返回 index.html (支持 Vue 刷新不404)
try_files uri uri/ /index.html;

【注意】这里不要写 proxy_pass!否则又变回直接访问后端了

}

3. 处理后端接口请求 (反向代理)

若依默认的前端请求前缀是 /prod-api,请根据你的前端配置文件(.env.production)确认

location /prod-api/ {
proxy_set_header Host http_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;

转发到后端 8080 端口

注意:末尾的 / 很重要,它会去掉 /prod-api/ 前缀再传给后端

proxy_pass http://127.0.0.1:8080/;
}

可选:禁止访问隐藏文件

location ~ /. {
deny all;
}
}

🚀 操作步骤

编辑配置文件:
sudo nano /etc/nginx/sites-available/ruoyi
# 或者你的配置文件路径,例如 /etc/nginx/conf.d/ruoyi.conf

将内容替换为上面的代码。

检查配置语法:
sudo nginx -t

必须显示 syntax is ok 和 test is successful。

重载 Nginx:
sudo systemctl reload nginx

再次访问:
在浏览器访问 http://你的服务器IP
现在应该能看到若依的登录界面(因为 Nginx 直接提供了 index.html)。
尝试输入账号密码登录。如果配置正确,登录请求(/prod-api/login)会被 Nginx 转发给后端,从而成功登录。

💡 关键点解释
root /var/www/ruoyi;: 告诉 Nginx 去这个文件夹找 index.html。
try_files ...: 这是 Vue/React 单页应用必须的,防止刷新页面变白。
location /prod-api/: 只有以 /prod-api/ 开头的请求(即登录、获取数据等接口)才会被转发给 8080 端口。其他请求(如加载 .js, .css, 图片)都由 Nginx 自己处理。
proxy_pass ... /;: 注意末尾的斜杠。它会将 http://你的IP/prod-api/system/login 转换为 http://127.0.0.1:8080/system/login 传给后端,符合若依后端的接口路径要求。