使用JDK自带的keytool生成证书
1、在DOS下使用如下命令生成证书hsinghsu.keystore
2、配置tomcat https监听
打开tomcat目录下的server.xml文件
将以下注释段落
3、配置web 强制https访问
修改web目录下的web.xml
添加如下代码:
若写成下面,则表示访问部分页面使用https。其他使用http访问。
1、在DOS下使用如下命令生成证书hsinghsu.keystore
keytool -genkey -alias tomcat -keyalg RSA -keystore d:\hsinghsu.keystore
回车后系统会依此提示以下内容:
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: hsing hsu
您的组织单位名称是什么?
[Unknown]: haha
您的组织名称是什么?
[Unknown]: haha
您所在的城市或区域名称是什么?
[Unknown]: wuhan
您所在的州或省份名称是什么?
[Unknown]: wuhan
该单位的两字母国家代码是什么
[Unknown]: cn
CN=hsing hsu, OU=haha, O=haha, L=wuhan, ST=wuhan, C=cn 正确吗?
[否]: y
输入<tomcat>的主密码
(如果和 keystore 密码相同,按回车):
注:记住首次输入的keystore的密码,在后面需要配置使用。
2、配置tomcat https监听
打开tomcat目录下的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="D:\hsinghsu.keystore" keystorePass="hsinghsuhaha"
clientAuth="false" sslProtocol="TLS" />
重启tomcat,即可访问https://localhost:8443/
3、配置web 强制https访问
修改web目录下的web.xml
添加如下代码:
<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>
这就让该web所有文件http访问的自动回调到https访问。
若写成下面,则表示访问部分页面使用https。其他使用http访问。
<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPSOnly</web-resource-name>
<url-pattern>/websocket/*</url-pattern>
<url-pattern>/jsp/login.jsp</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>