Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS

安装Tomcat

这里选择的是 tomcat 10.X ,需要Java 11及更高版本

下载页 ->Binary Distributions ->Core->选择 tar.gz包

  1. 下载、上传到内网服务器 /opt 目录
  2. tar -xzf 解压
  3. 将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

配置 HTTPS

  1. 生成SSL证书 :

keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/keystore.jks

  1. vim /opt/tomcat-10/conf/server.xml ,https配置一开始是被注释的,取消注释并修改
bash 复制代码
 
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               maxParameterCount="1000"  clientAuth="false" sslProtocol="TLS"
                keystoreFile="/opt/keystore.jks" keystorePass="123456"
               >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="/opt/tomcat/keystore.jks" certificateKeystorePassword="123456"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

如果你是.pkf 证书问题,参考如下

bash 复制代码
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
           scheme="https" secure="true"
           keystoreFile="/path/to/your_certificate.pfx"
           keystoreType="PKCS12"
           keystorePass="your_keystore_password"
           clientAuth="false" sslProtocol="TLS"/>
  1. 云服务器记得开云防火墙端口
  2. 重启 Tomcat:

./bin/shutdown.sh

./bin/startup.sh

  1. 失败的话,去根目录下的logs目录下查看catalina.log日志排除问题
  2. 如果仅允许https,把http的8080的connect块注释掉即可

tips

1.

  1. 查看tomcat 默认https端口是否监控

netstat -tuln | grep 8443

  1. 校验 .jks 文件 密码

验证密码

keytool -list -v -keystore /path/to/your_keystore_file.jks
更改密码

keytool -storepasswd -keystore /path/to/your_keystore_file.jks

  1. 没有.jks文件的话,需要将 .cet 和 .cem 文件转换为 PEM 格式(使用openssl 命令工具转换),再将.pem证书文件导入到.jks文件

1.创建一个新的 .jks 文件:

keytool -genkey -alias myalias -keyalg RSA -keystore mykeystore.jks
2.导入证书到 .jks 文件:

keytool -import -alias myalias -file mycertificate.pem -keystore mykeystore.jks
3.验证导入的证书

keytool -list -v -keystore mykeystore.jks

2. 证书文件拓展名介绍

  1. .crt (Certificate):
    .crt 文件是证书文件的常见扩展名,包含公钥证书信息。通常用于存储服务器的证书,用于验证服务器的身份。
  2. .cer (Certificate):
    .cer 文件是证书文件的扩展名,包含公钥证书信息。通常用于存储 CA 签发的证书或中间证书。
  3. .pem (Privacy Enhanced Mail):
    .pem 文件是一种通用的文件格式,用于存储加密和证书等信息。在 HTTPS 配置中,.pem 文件可以包含证书、密钥、证书链等信息。通常有密码
  4. .jks (Java KeyStore):
    .jks 文件是 Java KeyStore 的缩写,用于存储证书和私钥信息。在 Java 应用程序中常用 .jks 文件来管理 SSL 证书和私钥。是一种java应用的专用格式
  5. .pfx/.p12 (PKCS#12):
    .pfx 或 .p12 文件是一种通用证书格式,用于存储私钥、证书和证书链等信息。通常用于在不同系统之间安全地传输和存储证书和私钥。
  6. .der (DER Encoded X.509):.der 文件是二进制格式的证书文件,通常包含 X.509 标准的证书信息。
  7. .csr (Certificate Signing Request):.csr 文件是证书签发请求文件,用于向证书颁发机构(CA)申请证书。包含公钥和证书请求者信息,用于生成证书。
相关推荐
yzx99101333 分钟前
Linux 系统中的算法技巧与性能优化
linux·算法·性能优化
fengyehongWorld34 分钟前
Linux Docker的简介
linux·docker
曹瑞曹瑞1 小时前
VMware导入vmdk文件
linux·运维·服务器
BillKu1 小时前
Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的方法
java·tomcat·mybatis
Johny_Zhao1 小时前
2025年6月Docker镜像加速失效终极解决方案
linux·网络·网络安全·docker·信息安全·kubernetes·云计算·containerd·yum源·系统运维
hello kitty w2 小时前
Python学习(7) ----- Python起源
linux·python·学习
十年磨一剑~2 小时前
centos查看开启关闭防火墙状态
linux·运维·centos
vortex53 小时前
探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
linux·开发语言·bash·shell·dash
GalaxyPokemon3 小时前
LeetCode - 148. 排序链表
linux·算法·leetcode
懒羊羊大王呀4 小时前
Ubuntu20.04中 Redis 的安装和配置
linux·redis