直接在Nginx配置中添加proxy_pass指向Tomcat地址即可,核心是让Nginx接收请求后原样转发给Tomcat并返回其响应;需确保Tomcat已启动且可访问,配置location块、补充proxy_set_header头信息,多实例时通过upstream定义服务池,最后nginx -t校验并-s reload生效。

直接在 Nginx 配置中添加 proxy_pass 指向 Tomcat 地址即可,核心是让 Nginx 接收请求后不自己处理,而是把整个 HTTP 请求原样转给 Tomcat,再把 Tomcat 的响应返回给客户端。
确认 Tomcat 已就绪并可访问
确保 Tomcat 正常运行且网络可达:
- 启动 Tomcat:进入
bin/目录执行./startup.sh,默认监听8080端口 - 验证本地访问:用
curl http://127.0.0.1:8080或浏览器打开http://服务器IP:8080,能看到 Tomcat 欢迎页 - 开放防火墙端口(如使用 firewalld):
firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload
修改 nginx.conf 添加反向代理规则
编辑 /usr/local/nginx/conf/nginx.conf(路径依安装方式可能不同),在 server 块内配置转发逻辑:
- 若只代理根路径(如访问
http://your-domain/→ Tomcat):location / { proxy_pass http://127.0.0.1:8080; } - 若需保留原始路径前缀(如
/app/xxx转发时去掉/app):location /app/ { proxy_pass http://127.0.0.1:8080/; }(注意末尾斜杠) - 建议补充关键代理头,避免 Tomcat 获取不到真实 IP 和协议:
proxy_set_header Host $host;<br>proxy_set_header X-Real-IP $remote_addr;<br>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>proxy_set_header X-Forwarded-Proto $scheme;
支持多实例或按域名分流
当有多个 Tomcat 实例时,可用 upstream 定义后端组,提升可维护性:
- 在
http块顶部定义:upstream tomcat_cluster { server 192.168.1.10:8080; server 192.168.1.11:8080; } - 在
server块中引用:location / { proxy_pass http://tomcat_cluster; } - 也可按域名区分:
server_name app1.example.com;<br>location / { proxy_pass http://192.168.1.10:8080; }
另一段server块设server_name app2.example.com指向另一台 Tomcat
重载配置并验证效果
保存配置后,执行以下操作生效:
- 检查语法是否正确:
/usr/local/nginx/sbin/nginx -t - 平滑重载配置:
/usr/local/nginx/sbin/nginx -s reload - 访问 Nginx 监听地址(如
http://服务器IP或已绑定的域名),应显示 Tomcat 页面 - 查看 Nginx 访问日志(
logs/access.log)和错误日志(logs/error.log)排查常见问题,例如连接被拒通常表示 Tomcat 未运行或地址/端口填错


















