tomcat8 配置https安全访问
环境: Jdk 1.8、Tomcat8
一、使用Jdk自带的工具生成数字证书
1、在 命令行 执行如下代码:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
2、出现如下界面,根据提示输入信息;
输入密钥库口令:123456
再次输入新口令:123456
您的名字与姓氏是什么?
[Unknown]: aaa
您的组织单位名称是什么?
[Unknown]: aaa
您的组织名称是什么?
[Unknown]: edu
您所在的城市或区域名称是什么?
[Unknown]: xiamen
您所在的省/市/自治区名称是什么?
[Unknown]: xiamen
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=cnblogs, OU=cnblogs, O=cnblogs, L=beijing, ST=beijing, C=cn是否正确?
[否]: y
输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):
3、执行完成后,当前目录下会生成一个.keystore文件;
4、将.keystore文件复制到 tomcat 的 bin 目录下;
二、修改Tomcat的server.xml文件支持Https
1、打开conf目录下的server.xml文件,Https配置默认是注释掉的,如下图所示:

2、去掉上图红色框的注释,让配置生效,默认端口为8443。再加上数字证书的属性,如下:
keystoreFile="bin/.keystore",此为keystore文件路径;
keystorePass="123456",此密码就是生成证书时的密码;
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="bin/.keystore" keystorePass="123456" >
</Connector>
三、启动tomcat测试
1、启动tomcat;
2、访问页面 https://localhost:8443/ ,如下图所示:

四、配置http的访问地址自动转换为https
1、在 tomcat /conf/web.xml 中的 </welcome-file-list> 后面加上以下内容;
<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>
完成以上步骤后,在浏览器中输入http的访问地址也会自动转换为https了。

浙公网安备 33010602011771号