在Debian上配置Tomcat的HTTPS涉及几个步骤,包括生成SSL证书、配置Tomcat以使用该证书以及重启Tomcat服务。以下是详细步骤:
你可以使用OpenSSL来生成自签名证书或从CA(证书颁发机构)获取证书。这里我们以生成自签名证书为例。
sudo apt update
sudo apt install openssl
# 创建一个目录来存储证书
sudo mkdir /etc/tomcat9/ssl
# 生成私钥
sudo openssl genrsa -out /etc/tomcat9/ssl/tomcat.key 2048
# 生成证书签名请求(CSR)
sudo openssl req -new -key /etc/tomcat9/ssl/tomcat.key -out /etc/tomcat9/ssl/tomcat.csr -subj "/C=US/ST=State/L=City/O=Organization/CN=tomcat.example.com"
# 生成自签名证书
sudo openssl x509 -req -days 365 -in /etc/tomcat9/ssl/tomcat.csr -signkey /etc/tomcat9/ssl/tomcat.key -out /etc/tomcat9/ssl/tomcat.crt
编辑Tomcat的配置文件server.xml,通常位于/etc/tomcat9/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/tomcat9/ssl/tomcat.crt"
                     certificateKeystorePassword="your_keystore_password"
                     type="RSA" />
    </SSLHostConfig>
</Connector>
请注意:
certificateKeystoreFile 应该指向你生成的证书文件。certificateKeystorePassword 是你在生成证书时设置的密码(如果你设置了的话)。保存并关闭server.xml文件后,重启Tomcat服务以应用更改。
sudo systemctl restart tomcat9
打开浏览器并访问 https://your_server_ip:8443,你应该能够看到Tomcat的默认页面,并且浏览器会显示一个安全警告,因为这是一个自签名证书。
通过以上步骤,你应该能够在Debian上成功配置Tomcat的HTTPS。