Tomcat9安装SSL证书指南
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
本文提供了详细的 Tomcat 9 安装 SSL 证书指南,确保 Tomcat 已正确安装并配置,获取服务器的域名和 SSL 证书文件(如.crt 和.key 文件),在server.xml
配置文件中,找到 `标签,添加或修改相关属性以启用 HTTPS,包括
protocol、
scheme、
secure、
SSLCertificateFile和
SSLCertificateKeyFile`,重启 Tomcat 后,访问 https://yourdomain:8443 确认 SSL 连接正常工作,此步骤确保网站通过安全的 HTTPS 协议传输数据。
什么是 SSL 证书?
SSL 证书是一种数字证书,它由受信任的证书颁发机构(CA)签发,用于验证服务器的身份并建立加密通道,通过使用 SSL 证书,可以有效防止中间人攻击、窃听以及数据篡改等问题,从而显著提高网络通信的安全性,常见的 SSL 证书类型包括域名验证(DV)、组织验证(OV)和扩展验证(EV)等。
准备工作
在开始之前,请确保您已准备好以下条件:
-
安装了 JDK 和 Apache Tomcat 9:确保您的系统上已经安装了合适的 JDK 版本,Tomcat 9 已正确安装。
-
拥有一个有效的 SSL 证书:可以从商业 CA 如 Let's Encrypt、Symantec 等处购买或申请免费证书,确保证书与您的域名匹配,并且是有效的。
-
访问权限:能够编辑 Tomcat 的配置文件
conf/server.xml
。
下载并导入证书
从证书颁发机构下载您的 SSL 证书及相关文件,通常情况下,这些文件会包含以下几个部分:
server.crt
或者fullchain.pem
:这是您的主证书。server.key
:私钥文件。ca_bundle.crt
:颁发机构的根证书链。
我们需要将这些文件转换成 PKCS12 格式,可以使用 OpenSSL 来完成这个任务:
openssl pkcs12 -export -in server.crt -inkey server.key -certfile ca_bundle.crt -name tomcat -out tomcat.p12
这段命令将会创建一个新的 .p12
文件,其中包含了所有的必要信息,请务必记住设置密码,因为后续步骤中需要输入该密码。
配置 Tomcat 使用 SSL
为了使 Tomcat 使用我们刚刚生成的 PKCS12 文件,需要修改 conf/server.xml
文件,找到 <Connector>
元素,并添加或更新以下属性:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/path/to/tomcat.p12" keystorePass="your_password" keyAlias="tomcat"/>
这里的关键参数包括:
port
:指定监听的端口号,默认为 8443。protocol
:指定使用的协议,通常为HTTP/1.1
。SSLEnabled
:设置是否启用 SSL。scheme
和secure
:定义请求头中的 Scheme 和 Secure 属性。clientAuth
:控制客户端身份验证行为,默认值为false
。sslProtocol
:指定使用的 SSL 协议版本。keystoreFile
:指定 PKCS12 文件的位置。keystorePass
:指定 PKCS12 文件的密码。keyAlias
:指定密钥库中的别名。
测试配置
保存对 server.xml
的更改后,重启 Tomcat 服务,然后尝试访问 https://localhost:8443
,看看是否能够成功连接到您的应用程序,如果出现错误提示,请检查日志文件以获取更多信息。
常见问题及解决方法
-
无法连接:确认防火墙允许 8443 端口的流量;检查是否有其他进程占用了该端口。
-
证书无效:确保提供的证书与域名匹配;验证证书链是否完整。
-
密码错误:再次核对
keystorePass
是否正确。 -
浏览器警告:某些浏览器可能会因为不信任的 CA 而发出警告,您可以手动将根证书导入浏览器的信任列表中。