centos

如何在centos上为tomcat配置SSL

小樊
50
2025-08-18 17:22:35
栏目: 云计算

在CentOS上为Tomcat配置SSL,你需要遵循以下步骤:

  1. 安装Java(如果尚未安装): CentOS 7及更高版本默认安装了Java。你可以通过运行以下命令检查Java版本:

    java -version
    

    如果没有安装Java,请使用以下命令安装:

    sudo yum install java-1.8.0-openjdk-devel
    
  2. 获取SSL证书: 你可以从证书颁发机构(CA)购买SSL证书,或者使用Let’s Encrypt免费获取。以下是使用Certbot从Let’s Encrypt获取证书的示例:

    sudo yum install certbot
    sudo certbot certonly --standalone --http-01-port=80 -d yourdomain.com -d www.yourdomain.com
    

    成功后,你将在/etc/letsencrypt/live/yourdomain.com/目录下获得证书文件(fullchain.pem)和私钥文件(privkey.pem)。

  3. 创建Java KeyStore: 将证书和私钥转换为Java KeyStore格式:

    sudo keytool -importkeystore -deststorepass your_keystore_password -destkeypass your_key_password -destkeystore /etc/tomcat/keystore.jks -srckeystore /etc/letsencrypt/live/yourdomain.com/fullchain.pem -srcstoretype PEM -alias yourdomain.com -srcstorepass your_certificate_password -srckeypass your_private_key_password
    

    请确保使用正确的密码替换your_keystore_passwordyour_key_passwordyour_certificate_passwordyour_private_key_password

  4. 配置Tomcat: 编辑Tomcat的配置文件/etc/tomcat/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/tomcat/keystore.jks"
                         type="RSA" certificateKeystorePassword="your_keystore_password" />
        </SSLHostConfig>
    </Connector>
    

    请确保使用正确的密码替换your_keystore_password

  5. 重启Tomcat:

    sudo systemctl restart tomcat
    
  6. 更新防火墙设置: 如果你使用的是firewalld,请运行以下命令以允许HTTPS流量:

    sudo firewall-cmd --permanent --zone=public --add-port=8443/tcp
    sudo firewall-cmd --reload
    

现在,你应该能够通过https://yourdomain.com:8443访问你的Tomcat应用程序,并且浏览器将显示安全连接。

0
看了该问题的人还看了