配置Tomcat支持HTTPS协议

52 阅读2分钟

1. 生成秘钥库

我们可以使用 JDK 自带的 keytool 工具生成密钥库。首先,指定别名为 xfc(可以自定义别名),然后将密钥库存储在路径 D:\cas\keystore 中。执行以下命令即可生成密钥库:

`keytool -genkey -v -alias xfc -keyalg RSA -keystore D:\cas\keystore\xfc.keystore`

这条命令将生成一个别名为 xfc 的 RSA 加密密钥库,并将其保存在指定路径。

image.png

执行完毕会生成以下文件:

image.png

2. 从秘钥库里导出证书

基于生产的密钥库,我们需要从密钥库中导出证书,可以使用 keytool 工具执行以下命令:

keytool -export -trustcacerts -alias xfc -file D:/cas/keystore/xfc.cer -keystore D:/cas/keystore/xfc.keystore

在执行此命令时,需要输入在第一步创建密钥库时设置的密码,例如:666。该命令会从路径 D:/cas/keystore/xfc.keystore 中的密钥库导出别名为 xfc 的证书,并将其保存为 D:/cas/keystore/xfc.cer 文件。

image.png

3. 将证书导入到JDK证书库

接下来就是将证书导入到 JDK 的证书库中,可以使用以下 keytool 命令:

keytool -import -trustcacerts -alias xfc -file D:/cas/keystore/xfc.cer -keystore "F:/environment/java/jre1.8.0_301/lib/security/cacerts"

执行该命令时,指定证书的别名为 xfc,将位于 D:/cas/keystore/xfc.cer 的证书文件导入到 JDK 的信任证书库 cacerts 中,路径为 F:/environment/java/jre1.8.0_301/lib/security/cacerts。导入过程中可能会提示输入密码,默认密码通常为 changeit

4. tomcat配置https支持

为了在 Tomcat 9 中配置 HTTPS 支持,可以按照以下步骤进行。

首先,找到 Tomcat 安装目录中的 conf 文件夹,并找到 server.xml 文件。打开该文件,并在其中添加以下配置来启用 HTTPS 支持:

<Connector port="8445" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="D:\cas\keystore\xfc.keystore"
           keystorePass="666666" />

这段配置将 HTTPS 连接器绑定到 8443 端口,并指向了之前生成的密钥库文件 D:\cas\keystore\xfc.keystore,密码为 666666。 配置完成后,可以启动 Tomcat 的 bin 目录下的 startup.bat 文件来运行 Tomcat。

如果在启动过程中遇到控制台输出中文乱码的情况,可以进入 Tomcat 目录下的 conf 文件夹,找到一个名为 logging.properties 的文件,打开该文件,找到以下配置项:

java.util.logging.ConsoleHandler.encoding = UTF-8

将 UTF-8 修改为 GBK,使修改后的配置如下:

java.util.logging.ConsoleHandler.encoding = GBK

5. 打开tomcat网址

image.png 到这步Tomcat支持 Https协议就配置成功了。