在Debian上配置Tomcat的SSL证书涉及几个步骤,包括生成自签名证书、配置Tomcat以使用该证书以及重启Tomcat服务。以下是详细步骤:
1. 生成自签名证书
首先,你需要生成一个自签名证书。你可以使用OpenSSL来完成这个任务。
sudo apt update
sudo apt install openssl
# 创建一个新的私钥
sudo openssl genrsa -out /etc/ssl/private/tomcat-selfsigned.key 2048
# 创建一个证书签名请求(CSR)
sudo openssl req -new -key /etc/ssl/private/tomcat-selfsigned.key -out /etc/ssl/certs/tomcat-selfsigned.csr -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=yourdomain.com"
# 创建自签名证书
sudo openssl x509 -req -days 365 -in /etc/ssl/certs/tomcat-selfsigned.csr -signkey /etc/ssl/private/tomcat-selfsigned.key -out /etc/ssl/certs/tomcat-selfsigned.crt
在生成证书时,你需要将/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=yourdomain.com替换为你的实际信息。
2. 配置Tomcat
接下来,你需要配置Tomcat以使用生成的SSL证书。
-
打开Tomcat的配置文件
/etc/tomcat9/server.xml(如果你使用的是Tomcat 8,则是/etc/tomcat8/server.xml)。 -
找到以下注释掉的SSL连接器配置:
<!-- --> -
取消注释并修改为以下内容:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="/etc/ssl/private/tomcat-selfsigned.key" certificateKeystorePassword="yourpassword" type="RSA" /> </SSLHostConfig> </Connector>注意:由于我们使用的是自签名证书,而不是JKS文件,所以你需要创建一个PKCS12格式的密钥库文件。
3. 创建PKCS12密钥库文件
将生成的私钥和证书转换为PKCS12格式的密钥库文件。
sudo openssl pkcs12 -export -in /etc/ssl/certs/tomcat-selfsigned.crt -inkey /etc/ssl/private/tomcat-selfsigned.key -out /etc/ssl/tomcat-selfsigned.p12 -name tomcat -CAfile /etc/ssl/certs/ca-certificates.crt -caname root
在提示输入导出密码时,输入一个密码(例如yourpassword)。
4. 更新Tomcat配置
更新Tomcat配置以使用新的PKCS12密钥库文件。
-
打开
/etc/tomcat9/server.xml(如果你使用的是Tomcat 8,则是/etc/tomcat8/server.xml)。 -
修改SSL连接器配置为以下内容:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="/etc/ssl/tomcat-selfsigned.p12" type="PKCS12" /> </SSLHostConfig> </Connector>
5. 重启Tomcat服务
最后,重启Tomcat服务以应用更改。
sudo systemctl restart tomcat9
或者如果你使用的是Tomcat 8:
sudo systemctl restart tomcat8
6. 验证配置
打开浏览器并访问https://yourdomain.com:8443,你应该能够看到Tomcat的默认页面,并且浏览器会显示一个安全警告,因为这是一个自签名证书。
通过以上步骤,你已经成功在Debian上配置了Tomcat的SSL证书。