温馨提示×

怎样在debian配tomcat代理

小樊
44
2026-10-12 07:37:21
栏目: 智能运维

在 Debian 上配置 Tomcat 通过代理(通常是 Nginx 或 Apache)访问,常见做法有两种:Nginx 反向代理 和 Apache + mod_jk / mod_proxy。下面给你最常用、最清晰的方案。


一、使用 Nginx 反向代理 Tomcat(推荐)

1. 安装 Tomcat

sudo apt update
sudo apt install tomcat9

Tomcat 默认端口:8080

启动:

sudo systemctl start tomcat9
sudo systemctl enable tomcat9

2. 安装 Nginx

sudo apt install nginx

3. 配置 Nginx 反向代理

编辑站点配置:

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

示例配置(将 80 端口代理到 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;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

启用配置:

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

✅ 现在访问 http://example.com 就会走 Tomcat。


二、使用 Apache + mod_proxy(可选)

1. 安装 Apache

sudo apt install apache2

2. 启用代理模块

sudo a2enmod proxy
sudo a2enmod proxy_http

3. 配置虚拟主机

sudo nano /etc/apache2/sites-available/tomcat.conf
<VirtualHost *:80>
    ServerName example.com

    ProxyRequests Off
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

启用并重启:

sudo a2ensite tomcat.conf
sudo systemctl restart apache2

三、Tomcat 中关闭直接外网访问(安全)

编辑:

sudo nano /etc/tomcat9/server.xml

将 Connector 改为只监听本机:

<Connector port="8080" address="127.0.0.1" ... />

四、HTTPS(可选但推荐)

  • Nginx:使用 certbot
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

总结

方案 适用场景
Nginx + Tomcat 最简单、性能好
Apache + mod_proxy 已有 Apache
mod_jk 老系统、集群

如果你是 内网 / 公网 / Docker / 集群 场景,可以告诉我,我可以给你更具体的配置。

0 踩