Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)

06-01 1534阅读

Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)

一、环境说明

  • 操作系统:CentOS
    • Tomcat 版本:Apache Tomcat/9.0.105
      • 服务器 IP:192.168.1.35
        • 目标:将 Tomcat 默认的 HTTP 访问升级为 HTTPS,提升通信安全性

          二、操作步骤详解

          (一)查询 JDK 目录

          通过以下命令确认 JDK 安装路径:

          echo $JAVA_HOME

          预期输出:

          /opt/jdk1.8.0_451

          关键点:后续操作需依赖 JDK 自带的keytool工具,确保路径正确。

          (二)使用 keytool 生成证书

          1. 进入 JDK 的 bin 目录
          cd $JAVA_HOME/bin
          2. 执行证书生成命令
          ./keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat.keystore -validity 36500
          3. 交互配置说明
          • 密钥库口令:设置证书存储密码(如:123456)
            • 个人信息:依次输入姓名、组织单位、组织名称、地区等(示例:CN=chen, OU=LG, O=LG, L=guangdong, ST=guangdong, C=CN)
              • 密钥口令:可与密钥库口令保持一致,直接按回车
                4. 参数解析
                • -keystore:指定证书存储路径及文件名(本例存放在/usr/local/目录,文件名为tomcat.keystore)
                  • -validity:证书有效期(36500 天≈100 年,默认 90 天)

                    (三)配置 Tomcat 服务器

                    1. 修改 conf/server.xml

                    原 HTTP 连接器配置(修改前):

                     
                    

                    修改点:

                    • 将redirectPort从 8443 改为 443(HTTPS 默认端口)

                      新增 HTTPS 连接器配置:

                       
                      

                      注意事项

                      • protocol必须使用Http11NioProtocol,不可用HTTP/1.1
                        • keystoreFile路径需与实际证书存储路径一致(Linux 系统注意路径大小写)
                          2. 配置 conf/web.xml 安全约束

                          在标签后添加以下内容:

                          
                          CLIENT-CERT
                          Client Cert Users-only Area
                          
                          
                          
                          
                          SSL
                          /*
                          
                          
                          
                          CONFIDENTIAL
                          
                          

                          配置意义:

                          • CLIENT-CERT 认证:要求客户端提供有效证书方可访问
                            • CONFIDENTIAL 传输:确保所有数据通过 SSL/TLS 加密传输,防止窃听

                              (四)重启 Tomcat 服务

                              # 停止服务

                              ./shutdown.sh

                              # 启动服务

                              ./startup.sh

                              三、访问验证与常见问题

                              (一)浏览器访问测试

                              • 访问地址:https://192.168.1.35:443
                                • 预期结果:
                                  • 首次访问可能出现安全警告(因使用自签名证书)
                                  • 点击 “高级”→“继续访问” 可进入 Tomcat 欢迎页面Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)

                                    (二)证书信息查看

                                    • 证书主题信息:
                                      • 颁发者:自签名(CN=chen, OU=LG, O=LG, L=guangdong, ST=guangdong, C=CN)
                                      • 有效期:从当前时间起 100 年
                                      • 公钥信息:RSA 算法,2048 位密钥长度Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)
                                      • Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)

                                        (三)安全警告处理

                                        • 原因:自签名证书未经过 CA 机构认证
                                          • 解决方案:
                                            1. 生成证书请求(CSR)并提交给正规 CA 机构申请证书
                                            2. 使用keytool -importkeystore命令将证书转换为 PKCS12 格式(参考生成证书时的警告提示)

                                            四、总结

                                            通过以上步骤,成功在 CentOS 环境下为 Tomcat 9 配置了 HTTPS 访问。核心要点包括:

                                            1. 使用keytool生成自签名证书并正确配置路径
                                            2. 在server.xml中添加 HTTPS 连接器并指定证书信息
                                            3. 通过web.xml强制要求加密传输和客户端证书认证

                                            生产环境中建议替换为 CA 签名证书以消除浏览器警告,进一步提升安全性。如需进一步优化性能,可考虑启用 TLSv1.2 + 协议并配置加密套件策略。

                                            参考资料:

                                            • Tomcat 官方 HTTPS 配置指南
                                              • Keytool 命令行参考手册
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码