在Debian上配置Tomcat的SSL证书涉及几个步骤,包括生成自签名证书、配置Tomcat以使用该证书以及重启Tomcat服务。以下是详细步骤:
首先,你需要生成一个自签名证书。你可以使用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
替换为你的实际信息。
接下来,你需要配置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="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
-->
取消注释并修改为以下内容:
<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格式的密钥库文件。
将生成的私钥和证书转换为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
)。
更新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>
最后,重启Tomcat服务以应用更改。
sudo systemctl restart tomcat9
或者如果你使用的是Tomcat 8:
sudo systemctl restart tomcat8
打开浏览器并访问https://yourdomain.com:8443
,你应该能够看到Tomcat的默认页面,并且浏览器会显示一个安全警告,因为这是一个自签名证书。
通过以上步骤,你已经成功在Debian上配置了Tomcat的SSL证书。