javaweb项目对https的配置01

1.准备证书生成

   a.进入到jdk下的bin目录(如果配置了Java的环境,可以直接在cmd命令窗口中直接输入如下命令)

     keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore  -validity 36500

  附:d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。
  "-validity 36500”含义是证书有效期,36500表示100年,默认值是90天

   b.输入keystore密码

   密码任意,此处以123456为例,要记住这个密码,之后在进行server.xml配置时需要使用。

   c.输入名字、组织单位、组织、市、省、国家等信息

  注意事项:
  A、Enter keystore password:
  此处需要输入大于6个字符的字符串
  B、“What is your first and last name?”
  这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],
  就是你将来要在浏览器中输入的访问地址
  C、
  “What is the name of your organizational unit?”、单位
  “What is the name of your organization?”、组织
  “What is the name of your City or Locality?”、市
  “What is the name of your State or Province?”、省
  “What is the two-letter country code for this unit?”国家
  可以按照需要填写也可以不填写直接回车,
  在系统询问“correct?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息
  D、Enter key password for <tomcat>,
  这项较为重要,会在tomcat配置文件中使用,
  建议输入与keystore的密码一致,设置其它密码也可以

  d.输入之后会出现确认的提示

   此时输入y,并回车。此时创建完成keystore。

进入到D盘根目录下可以看到已经生成的tomcat.keystore
复制tomcat.keystore 到tomcat/conf/ 下

2.在web.xml文件中配置如下,将请求配置成https请求

<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 配置https请求 -->
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>

<user-data-constraint>
<!-- NONE不支持https请求, CONFIDENTIAL支持https请求 -->
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

2.打开项目的server.xml文件

3.找到文件在自带的注释掉的配置(这是tomcat本身带的配置https的示例)

<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

在下面添加如下配置

<Connector port="8082" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false"
keystoreFile="D:/ezchargerfile/tomcat v8/apache-tomcat-8.0.0/conf/tomcat.keystore"
keystorePass="123456" sslProtocol="TLS"/>

保留你原来通过eclipse可视界面配置的http请求的端口并修改redirectPort="8443"为8082(8443是tomcat默认的收视率端口,你自己配置的https端口):

<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8082"/>

去掉 redirectPort="8082"(默认的是 redirectPort="8443"),不去掉的话回出现访问http://localhost:8081/VoucherWebService/voucher重定向到https://localhost:8082/VoucherWebService/voucher

或者直接访问https://localhost:8082/VoucherWebService/voucher都可以。

4.配置完成后,可以看如下

参考:https://blog.csdn.net/FYWT98/article/details/82863044

猜你喜欢

转载自www.cnblogs.com/wang-liang-blogs/p/10669564.html