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)申请证书。包含公钥和证书请求者信息,用于生成证书。
相关推荐
学Linux的语莫3 分钟前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz7 分钟前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py9 分钟前
【Linux】-学习笔记04
linux·笔记·学习
黑牛先生10 分钟前
【Linux】进程-PCB
linux·运维·服务器
友友马28 分钟前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
猿java1 小时前
Linux Shell和Shell脚本详解!
java·linux·shell
A.A呐2 小时前
【Linux第一章】Linux介绍与指令
linux
Gui林2 小时前
【GL004】Linux
linux
ö Constancy2 小时前
Linux 使用gdb调试core文件
linux·c语言·vim
tang_vincent2 小时前
linux下的spi开发与框架源码分析
linux