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)申请证书。包含公钥和证书请求者信息,用于生成证书。
相关推荐
hjjdebug1 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯1 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流1 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布1 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg1 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
✿ ༺ ོIT技术༻1 小时前
Linux:认识文件系统
linux·运维·服务器
会掉头发2 小时前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信
我言秋日胜春朝★2 小时前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器
饮啦冰美式2 小时前
22.04Ubuntu---ROS2使用rclcpp编写节点
linux·运维·ubuntu