debian

如何配置Debian上Tomcat的SSL证书

小樊
38
2025-07-11 00:20:14
栏目: 云计算

在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证书。

  1. 打开Tomcat的配置文件/etc/tomcat9/server.xml(如果你使用的是Tomcat 8,则是/etc/tomcat8/server.xml)。

  2. 找到以下注释掉的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>
    -->
    
  3. 取消注释并修改为以下内容:

    <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密钥库文件。

  1. 打开/etc/tomcat9/server.xml(如果你使用的是Tomcat 8,则是/etc/tomcat8/server.xml)。

  2. 修改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证书。

0
看了该问题的人还看了