温馨提示×

Debian如何配置TomcatSSL

小樊
42
2026-08-20 08:34:22
栏目: 云计算

Debian 上配置 Tomcat SSL(HTTPS),通常分为以下几个步骤。下面以 Tomcat 9(或 8.5) + Debian 11/12 为例说明,其他版本差别不大。


一、安装 Tomcat(如已安装可跳过)

sudo apt update
sudo apt install tomcat9

默认安装路径:

  • 配置文件:/etc/tomcat9/
  • 应用目录:/var/lib/tomcat9/webapps/
  • Java 默认已随 Tomcat 安装

二、准备 SSL 证书

方式 1:使用自签名证书(测试用)

sudo keytool -genkeypair \
  -alias tomcat \
  -keyalg RSA \
  -keysize 2048 \
  -validity 365 \
  -keystore /etc/tomcat9/keystore.jks

按提示输入:

  • 密码(记住,后面要用)
  • 名字、组织等信息

方式 2:使用 Let’s Encrypt(生产推荐)

sudo apt install certbot
sudo certbot certonly --standalone -d yourdomain.com

生成的证书路径:

/etc/letsencrypt/live/yourdomain.com/

三、配置 Tomcat 使用 SSL

编辑 Tomcat 的 server.xml

sudo nano /etc/tomcat9/server.xml

1️⃣ 添加 HTTPS Connector

自签名证书示例

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150"
           SSLEnabled="true"
           scheme="https"
           secure="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="/etc/tomcat9/keystore.jks"
                     certificateKeystorePassword="你的密码"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

Let’s Encrypt 证书示例

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           SSLEnabled="true"
           scheme="https"
           secure="true">
    <SSLHostConfig>
        <Certificate certificateFile="/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
                     certificateKeyFile="/etc/letsencrypt/live/yourdomain.com/privkey.pem"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

四、设置 HTTP 自动跳转 HTTPS(可选)

1️⃣ 修改 HTTP Connector

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

2️⃣ 修改 web.xml

编辑:

sudo nano /etc/tomcat9/web.xml

<web-app> 标签内添加:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Protected</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

五、修改端口(可选)

如想直接使用 443

<Connector port="443" ... />

并授权 Tomcat 绑定低端口:

sudo apt install authbind
sudo touch /etc/authbind/byport/443
sudo chmod 500 /etc/authbind/byport/443
sudo chown tomcat /etc/authbind/byport/443

修改启动参数:

sudo nano /etc/default/tomcat9
AUTHBIND=yes

六、重启 Tomcat

sudo systemctl restart tomcat9

检查状态:

sudo systemctl status tomcat9

七、访问测试

浏览器访问:

https://服务器IP:8443
https://yourdomain.com

八、常见问题

❌ 端口无法访问

sudo ufw allow 8443
sudo ufw allow 443

❌ 证书路径权限问题

sudo chown -R tomcat:tomcat /etc/letsencrypt/live
sudo chmod -R 600 /etc/letsencrypt/live

如果你愿意,我可以:

  • ✅ 针对 Tomcat 10
  • ✅ 使用 PFX / PKCS12
  • ✅ 结合 Nginx 反向代理 SSL
  • ✅ 给出 完整生产环境配置示例

直接告诉我你用的是什么 Tomcat 版本和证书类型即可。

0