温馨提示×

Debian下Tomcat怎么配域名

小樊
40
2026-10-03 12:35:45
栏目: 云计算

在 Debian 下让 Tomcat 通过域名访问,通常有两种做法,取决于你是否使用 Nginx/Apache 做反向代理。下面按常见场景说明。


一、前提条件

  1. 域名已解析到服务器公网 IP(A 记录)
  2. Debian 已安装 Tomcat(如 /opt/tomcat 或 /var/lib/tomcat9)
  3. Tomcat 能正常启动(默认 8080 端口)

二、方式一:Nginx + Tomcat(推荐 ✅)

1. 安装 Nginx

sudo apt update
sudo apt install nginx

2. 配置域名虚拟主机

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;
    }
}

3. 启用配置

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

✅ 现在访问 http://example.com 即可进入 Tomcat


4.(可选)HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

三、方式二:Tomcat 直接绑定域名(不推荐)

1. 修改 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>

⚠️ 注意:

  • 需要 root 权限才能用 80 端口
  • 安全性较差
  • 不支持多域名灵活代理

四、设置默认访问项目(可选)

在 server.xml 的 Host 中:

<Context path="" docBase="yourApp" />

五、防火墙

如果使用 UFW:

sudo ufw allow 80
sudo ufw allow 443

六、总结建议

方案 推荐度 说明
Nginx + Tomcat ⭐⭐⭐⭐⭐ 稳定、安全、支持 HTTPS
Tomcat 直绑 ⭐⭐ 简单但不推荐

如果你告诉我:

  • Tomcat 版本
  • 是否用 Docker
  • 是否要 HTTPS

我可以给你更精确的配置。

0 踩