温馨提示×

debian tomcat如何做转发

小樊
35
2026-09-27 16:07:17
栏目: 智能运维

在 Debian 上用 Tomcat 做转发(反向代理 / 请求转发),常见有几种方式,按使用场景给你说明:


一、Tomcat + Nginx 反向代理(最推荐)

适合:生产环境、HTTPS、负载均衡、静态资源

1. 安装 Nginx

sudo apt update
sudo apt install nginx

2. 配置反向代理

编辑站点配置:

sudo nano /etc/nginx/sites-available/tomcat

示例(Tomcat 默认 8080):

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

启用配置:

sudo ln -s /etc/nginx/sites-available/tomcat /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

✅ 访问 http://example.com 即可转发到 Tomcat


二、Tomcat 内部转发(Servlet / 应用层)

适合:应用内部页面跳转

1. RequestDispatcher 转发(Java 代码)

request.getRequestDispatcher("/target.jsp").forward(request, response);

2. web.xml 中配置

<servlet-mapping>
    <servlet-name>myapp</servlet-name>
    <url-pattern>/old/*</url-pattern>
</servlet-mapping>

三、Tomcat 端口直接转发(iptables)

适合:临时、简单端口映射

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

保存规则(Debian):

sudo apt install iptables-persistent
sudo netfilter-persistent save

⚠️ 不推荐生产环境长期使用


四、Tomcat 配置 HTTPS + 转发(Connector)

如果你是想 HTTP → HTTPS 转发:

<Connector port="8080" protocol="HTTP/1.1"
    redirectPort="8443" />

五、常见场景选择建议

场景 推荐方式
生产环境 Nginx + Tomcat
内网测试 iptables
应用内跳转 Servlet 转发
多应用分发 Nginx location

如果你能说清楚:

  • ✅ 转发到哪个端口?
  • ✅ 是否用域名?
  • ✅ 是否 HTTPS?

我可以给你一份可直接用的配置。

0 踩