在 Debian 下让 Tomcat 通过域名访问,通常有两种做法,取决于你是否使用 Nginx/Apache 做反向代理。下面按常见场景说明。
/opt/tomcat 或 /var/lib/tomcat9)sudo apt update
sudo apt install nginx
sudo nano /etc/nginx/sites-available/example.com
示例配置:
server {
listen 80;
server_name example.com www.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/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
✅ 现在访问 http://example.com 即可进入 Tomcat
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
server.xml路径示例:
sudo nano /opt/tomcat/conf/server.xml
Connector 改为 80 端口:
<Connector port="80" protocol="HTTP/1.1"
address="0.0.0.0"
redirectPort="443" />
Host 配置:
<Host name="example.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
⚠️ 注意:
在 server.xml 的 Host 中:
<Context path="" docBase="yourApp" />
如果使用 UFW:
sudo ufw allow 80
sudo ufw allow 443
| 方案 | 推荐度 | 说明 |
|---|---|---|
| Nginx + Tomcat | ⭐⭐⭐⭐⭐ | 稳定、安全、支持 HTTPS |
| Tomcat 直绑 | ⭐⭐ | 简单但不推荐 |
如果你告诉我:
我可以给你更精确的配置。