Linux 安装 、配置Tomcat的HTTPS
安装Tomcat
这里选择的是 tomcat 10.X ,需要Java 11及更高版本
下载页 ->Binary Distributions ->Core->选择 tar.gz包
- 下载、上传到内网服务器 /opt 目录
- tar -xzf 解压
- 将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10
配置 HTTPS
- 生成SSL证书 :
keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/keystore.jks
- vim /opt/tomcat-10/conf/server.xml ,https配置一开始是被注释的,取消注释并修改
<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 证书问题,参考如下
<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"/>
- 云服务器记得开云防火墙端口
- 重启 Tomcat:
./bin/shutdown.sh
./bin/startup.sh
- 失败的话,去根目录下的logs目录下查看catalina.log日志排除问题
- 如果仅允许https,把http的8080的connect块注释掉即可
tips
1.
- 查看tomcat 默认https端口是否监控
netstat -tuln | grep 8443
- 校验 .jks 文件 密码
验证密码
keytool -list -v -keystore /path/to/your_keystore_file.jks
更改密码
keytool -storepasswd -keystore /path/to/your_keystore_file.jks
- 没有.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. 证书文件拓展名介绍
.crt
(Certificate):
.crt 文件是证书文件的常见扩展名,包含公钥证书信息。通常用于存储服务器
的证书,用于验证服务器的身份。.cer
(Certificate):
.cer 文件是证书文件的扩展名,包含公钥证书信息。通常用于存储 CA
签发的证书或中间证书。.pem
(Privacy Enhanced Mail):
.pem 文件是一种通用的文件格式,用于存储加密和证书等信息。在 HTTPS 配置中,.pem 文件可以包含证书、密钥、证书链
等信息。通常有密码.jks
(Java KeyStore):
.jks 文件是 Java KeyStore 的缩写,用于存储证书和私钥
信息。在 Java 应用程序中常用 .jks 文件来管理 SSL 证书和私钥。是一种java应用的专用格式.pfx/.p12 (PKCS#12)
:
.pfx 或 .p12 文件是一种通用证书格式,用于存储私钥、证书和证书链
等信息。通常用于在不同系统之间安全地传输和存储证书和私钥。.der (DER Encoded X.509)
:.der 文件是二进制格式的证书文件,通常包含 X.509 标准的证书信息。.csr (Certificate Signing Request)
:.csr 文件是证书签发请求文件,用于向证书颁发机构(CA)申请证书。包含公钥和证书请求者信息,用于生成证书。