将部分http请求设置成https请求,需要做的步骤有:
一、先生成证书
在tomcat目录下 执行以下代码:
keytool -genkey -alias server_jks_test -keyalg RSA -keypass changeit -storepass changeit -keystore server_jks_test.jks -validity 3650
keytool命令如下:
-genkey 在用户主目录中创建一个默认文件".jks",还会产生一个server_jks_cennavi的别名,server_jks_cennavi中包含用户的公钥、私钥和证书
-alias 产生别名server_jks_testws
-keystore 指定密钥库的名称(产生的各类信息将不在.jks文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息
二、修改tomcat的conf下的server.xml文件
在 server.xml 中启用 SSL HTTP/1.1 连接器(已有配置,去除注释即可),端口 8443
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="${catalina.home}/httpsAuth/server_jks_test.jks" keystorePass="changeit"/>
三、配置需要用https的请求
在tomcat下的web.xml中最后新增如下代码
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL Resource</web-resource-name>
<url-pattern>/home</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
重启tomcat,输入 http://localhost:8080/home 就可以实现https请求转换了