网络知识
Linux下Tomcat如何配置SSL
2025-07-12 15:56  点击:0

在Linux下配置Tomcat以支持SSL,可以按照以下步骤进行:

1. 生成SSL证书

首先,你需要一个SSL证书。你可以使用OpenSSL来生成自签名证书,或者从CA(证书颁发机构)获取证书。

生成自签名证书
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/ssl/private/tomcat-selfsigned.key -out /etc/ssl/certs/tomcat-selfsigned.crt

在生成证书的过程中,你需要填写一些信息,如国家、组织名称等。

2. 配置Tomcat

编辑Tomcat的server.xml文件,通常位于/opt/tomcat/conf/server.xml/etc/tomcat/conf/server.xml

找到并修改Connector配置

找到以下类似的配置块:

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

将其修改为支持SSL的配置:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"><SSLHostConfig><Certificate certificateKeystoreFile="/etc/ssl/private/tomcat-selfsigned.jks" type="RSA" /></SSLHostConfig></Connector>
3. 创建Java KeyStore

Tomcat使用Java KeyStore(JKS)来存储证书和私钥。你需要将生成的证书和私钥导入到JKS中。

将证书和私钥导入JKS
sudo keytool -import -alias tomcat -file /etc/ssl/certs/tomcat-selfsigned.crt -keystore /etc/ssl/private/tomcat-selfsigned.jks -storepass changeit

在导入过程中,你需要设置JKS的密码(默认是changeit)。

4. 重启Tomcat

保存server.xml文件后,重启Tomcat以应用更改。

sudo systemctl restart tomcat

或者如果你使用的是init.d脚本:

sudo /etc/init.d/tomcat restart
5. 验证SSL配置

打开浏览器,访问https://your_server_ip:8443,你应该能够看到Tomcat的默认页面,并且浏览器地址栏会显示安全锁图标。

注意事项确保防火墙允许8443端口的流量。如果你使用的是自签名证书,浏览器会显示安全警告,因为自签名证书不受信任。在生产环境中,建议使用由受信任的CA签发的证书。

通过以上步骤,你应该能够在Linux下成功配置Tomcat以支持SSL。