在Debian上配置Tomcat SSL证书涉及几个步骤,包括生成自签名证书、配置Tomcat以使用该证书以及重启Tomcat服务。以下是详细步骤:
首先,你需要生成一个自签名证书。你可以使用OpenSSL来完成这个任务。
sudo apt update
sudo apt install openssl
# 创建一个目录来存储证书文件
sudo mkdir /etc/ssl/certs/tomcat
# 生成私钥
sudo openssl genrsa -out /etc/ssl/certs/tomcat/tomcat.key 2048
# 生成证书签名请求(CSR)
sudo openssl req -new -key /etc/ssl/certs/tomcat/tomcat.key -out /etc/ssl/certs/tomcat/tomcat.csr -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=yourdomain.com"
# 生成自签名证书
sudo openssl x509 -req -days 365 -in /etc/ssl/certs/tomcat/tomcat.csr -signkey /etc/ssl/certs/tomcat/tomcat.key -out /etc/ssl/certs/tomcat/tomcat.crt
接下来,你需要配置Tomcat以使用生成的SSL证书。
# 编辑Tomcat的server.xml文件
sudo nano /etc/tomcat9/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/certs/tomcat/tomcat.jks"
                     type="RSA" />
    </SSLHostConfig>
</Connector>
Tomcat需要一个Java KeyStore文件来存储证书和私钥。你可以使用keytool来创建这个文件。
# 创建一个Java KeyStore文件
sudo keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore /etc/ssl/certs/tomcat/tomcat.jks -srckeystore /etc/ssl/certs/tomcat/tomcat.p12 -srcstoretype PKCS12 -alias tomcat
在提示输入源密钥库密码时,输入你在生成CSR时使用的私钥密码。
最后,重启Tomcat服务以应用更改。
sudo systemctl restart tomcat9
你可以使用浏览器访问https://yourdomain.com:8443来验证SSL配置是否成功。你应该能够看到一个安全连接。
通过以上步骤,你应该能够在Debian上成功配置Tomcat SSL证书。