基于 HTTP 协议的 SSL 协议通信被称为HTTPS(安全 HTTP)。使用 SSL 加密连接的网站在浏览器的地址栏中显示 https 作为协议名称,例如。称为证书颁发机构 (CA) 的组织可以验证 SSL 证书的详细信息,因此如果用户信任 CA,他们可以确保安全网站经过认证,并且其详细信息是正确的。有许多 CA 可以颁发经过认证的 SSL 证书。现代浏览器会自动识别最大和最知名的 CA,并允许连接到提供这些组织自动认证的 SSL 证书的站点。如果 SSL 证书未经 CA 认证,或者已通过 CA 认证但用户浏览器无法识别,则会向用户显示警告屏幕,用户可以在此决定是否信任该证书。
使用 SSL 配置 tomcat 是三步过程。 1) 生成密钥库 2) 更新 server.xml 中的连接器 3) 重启动Tomcat
1) 生成密钥库
SSL 证书是 JKS 文件。JKS 格式代表 Java KeyStore,它是一种 Java 特定的密钥库格式。JKS 密钥库可以使用keytool实用程序应用程序创建和操作,该应用程序作为 Java SDK 的一部分从 1.4 版开始分发。我们将用于创建自签名 SSL 证书的 Keytool 位于JAVA_HOME/bin/
目录中。
keytool -genkey -alias tomcat -keyalg RSA -validity 999999 -keystore /etc/tomcat/tomcat.keystore
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?
[否]: y
它将创建/etc/tomcat/tomcat.keystore文件。
2) 更新 server.xml 中的连接器
打开Tomcat安装目录并打开conf
文件夹。在此文件夹中,您将找到该server.xml
文件。打开它并找到以下声明:
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
|
并使用此信息更改它。不要忘记使用您的密码和密钥库路径。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/etc/tomcat/tomcat.keystore" keystorePass="123456"
clientAuth="false" sslProtocol="TLS" sslVerifyClient="optional"
sslEnabledProtocols="TLSv1.2,TLSv1.1,SSLv2Hello"/>
你完成了。现在查看应用程序更改。
3) 重启动Tomcat
systemctl restart tomcat
现在尝试使用https://localhost:8443/
这将在浏览器中显示证书信息。
只有在您接受证书后才会显示该页面。