Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

您可以通过将SSL证书安装到Tomcat服务器,使Tomcat服务器支持HTTPS安全访问。本文介绍如何在Tomcat服务器中安装SSL证书。

说明:

本文档Tomcat版本以tomcat9.0.13为例。

安装前请确认443端口未被占用,如果443端口已使用,请在安装证书时绑定其他端口。

安装SSL证书

  1. 将已获取到的domain_com.jks证书文件从本地目录拷贝到Tomcat服务器的 /usr/tomcat9.0.13/conf目录下。
  • 不同版本的Tomcat路径名称会有些许区别,请前往您的服务对应的路径进行操作。
  • 部分用户JDK版本如果和我们转换JKS文件的环境的JDK版本不同时,可能需要手动在当前使用环境转换JKS文件

请参考下方命令进行JKS文件转换,注意替换对应参数:

1
2
3
keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -srcstorepass pfxpassword -destkeystore domain.jks -deststoretype jks -deststorepass pfxpassword

请替换 domain.pfx (IIS文件夹中pfx文件) pfxpassword (pfx文件的密码) domain.jks(转换后jks文件的名字) pfxpassword(PFX文件的密码)
  1. 编辑在 /usr/tomcat9.0.13/conf 目录下的 server.xml 文件。

server.xml 文件中添加Connector 属性,内容如下:

1
2
3
4
5
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- 证书的路径 -->
keystorePass="证书密码" <! -- 请替换为password.txt密码文件中的内容 -->
clientAuth="false"/>
  1. 保存配置文件,在bin目录下执行以下命令,确认配置是否正确。
1
./configtest.sh
  1. 重启Tomcat,在bin目录下执行以下命令:
1
2
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器

测试SSL证书

在浏览器地址栏输入绑定SSL证书的域名,测试您的 SSL 证书是否安装成功。如果成功,则浏览器地址栏会显示一个安全锁标志,点击可查看证书信息。

HTTP 自动跳转 HTTPS 的安全配置(可选)

如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:

  1. 编辑 /usr/tomcat9.0.13/conf 目录下的 web.xml 文件,找到 </welcome-file-list> 标签。
  2. 请在结束标签</welcome-file-list>后面换行,并添加以下内容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<login-config>  
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
  1. 编辑 /usr/tomcat9.0.13/conf 目录下的 server.xml 文件,将 redirectPort 参数修改为 SSL 的 connector 的端口,即443端口。如下所示:
1
2
3
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
  1. 保存配置文件,在bin目录下执行以下命令,确认配置是否正确。
1
./configtest.sh
  1. 如果配置没有问题,重启Tomcat服务器即可使用域名访问,实现HTTP自动跳转HTTPS。
1
2
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器

评论