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)申请证书。包含公钥和证书请求者信息,用于生成证书。
相关推荐
努力的小T1 小时前
基于 Bash 脚本的系统信息定时收集方案
linux·运维·服务器·网络·云计算·bash
梓懿lwh1 小时前
vim的介绍
linux·编辑器·vim
爱敲代码的边芙2 小时前
Linux:信号的保存[2]
linux·运维·服务器
工程师焱记2 小时前
Linux 常用命令——系统设置篇(保姆级说明)
linux·运维·服务器
某风吾起2 小时前
linux系统中的 scp的使用方法
linux·服务器·网络
『往事』&白驹过隙;2 小时前
操作系统(Linux Kernel 0.11&Linux Kernel 0.12)解读整理——内核初始化(main & init)之缓冲区的管理
linux·c语言·数据结构·物联网·操作系统
chian-ocean2 小时前
探索Linux中的进程控制:从启动到退出的背后原理
linux·运维·服务器
涛ing2 小时前
23. C语言 文件操作详解
java·linux·c语言·开发语言·c++·vscode·vim
阿猿收手吧!2 小时前
【Linux网络总结】字节序转换 收发信息 TCP握手挥手 多路转接
linux·服务器·网络·c++·tcp/ip
萤火夜3 小时前
Linux网络之TCP
linux·网络·tcp/ip