可以的,Debian 上运行的 Tomcat 完全可以用 Nginx 做反向代理,这也是非常常见、推荐的做法。
下面给你一个清晰说明 + 示例配置。
常见架构:
用户 → Nginx (80/443) → Tomcat (8080)
假设:
127.0.0.1:8080安装 Nginx(如未安装):
sudo apt update
sudo apt install nginx
编辑:
sudo nano /etc/nginx/sites-available/tomcat
示例配置:
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 reload nginx
server.xml(可选但推荐)<Connector port="8080" protocol="HTTP/1.1"
address="127.0.0.1"
proxyName="example.com"
proxyPort="80"
scheme="http" />
这样 Tomcat 能正确识别真实访问地址。
location ~* \.(js|css|png|jpg|gif)$ {
root /var/lib/tomcat9/webapps/ROOT;
expires 30d;
}
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
✅ Debian + Tomcat + Nginx 是标准组合
✅ Nginx 做反向代理简单、稳定、性能好
✅ Tomcat 不需要直接暴露公网端口
如果你愿意,我可以:
你现在的 Tomcat 是裸 Tomcat 还是 Spring Boot?