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)申请证书。包含公钥和证书请求者信息,用于生成证书。
相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩3 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言