配置Tomcat使用https协议(SpringMVC配置SSL协议)

 

一、生成安全证书

二、配置tomcat 服务器

1、个人环境:

jdk 1.8  tomcat 7

2、生成安全证书:在jdk的安装目录下的 D:\Program Files (x86)\Java\jdk1.8.0_131\bin 目录下有keytool.exe     这个就是sun(oracle)公司提供的生成安全证书的工具

3、创建证书的命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "E:\tomcat.keystore" -validity 3650

4、命令中的参数介绍如下:

5、安全证书生成过程:名字与姓氏为域名,其它的根据具体情况输入,我这里输入的密码是123456

以上命令将生产一对非对称密钥和自我签名的证书E:\tomcats.keystore.

将证书保存到你要存放的地方,我的保存在E:\tomcat.keystore

注意:“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题

这里我们在本地调试故使用了localhost作为“名字与姓氏”(即域名)
到这里我们就已经有了证书下面来配置tomcat

 

7、进入到Servers目录下修改server.xml ,找到这个配置,添加你的证书的地址以及密码

    如果部署好程序后得在omcat 的conf 目录下修改server.xml ,不然修改不生效


 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="E:\tomcat.keystore"
                keystorePass="123456"
               />

 

8、到这里已经配置完成了,下面看看访问

选择继续浏览此网站


到这里我们的tomcat 配置也就成功了!

但是我们希望当我们访问某些页面的时候http请求方式自动转化为https协议,这样我们还得在配置一下tomcat

9、在tomcat的conf(或Servers)下的web.xml的最后添加配置文件实现http协议自动转化为https 协议同时修改一下server.xml 中配置文件的端口号:

1)、  修改了配置文件的端口号为443,同时将server.xml 中的redirectPort 的端口都改为443

注释之前的配置,端口号
 
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="E:\tomcat.keystore"
               keystorePass="tomcat"
               />
 -->
// 修改端口号
 
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="E:\tomcat.keystore"
               keystorePass="tomcat"
               />
2)、配置文件添加在 <welcome-file-list>   </welcome-file-list> 配置文件后面

<!--
对所有的请求都转化为https
 -->
<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>


 <!--
只对 .jsp 的请求自动转化为https
 -->
<security-constraint>  
        <web-resource-collection >  
            <web-resource-name >SSL</web-resource-name>  
            <url-pattern>*.jsp</url-pattern>  
        </web-resource-collection>  
        <user-data-constraint>  
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
        </user-data-constraint>  
    </security-constraint>
 

以上二选一
 
在<url-pattern> 中可以配置你希望自动转化的请求路径 /* 、  login.html 、 login.jsp 等等。 

到这里我们的所有配置都完成了,你就不用每次写https 只要是你在web.xml 配置文件中指定的请求路径都会自动转化为https 请求方式。不然都用http方式。

 

 

 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring MVC配置SSL(Secure Sockets Layer)可以为应用程序提供全的HTTPS连接。下面是配置Spring MVC使用SSL的步骤: 1. 生成SSL证书: 首先,你需要生成一个SSL证书。可以使用Java的keytool工具来生成自签名证书,或者购买一个由受信任的证书颁发机构(CA)签名的证书。 2. 配置服务器: 在Spring MVC应用程序的服务器配置中,需要启用SSL连接。具体的配置方式取决于你使用的服务器,例如Tomcat、Jetty等。一般来说,你需要在服务器配置文件中指定SSL证书的位置和密码。 3. 配置Spring MVC: 在Spring MVC配置文件中,需要添加以下配置来启用SSL连接: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置HTTPS连接 --> <bean id="sslConnector" class="org.apache.catalina.connector.Connector"> <property name="port" value="443" /> <property name="protocol" value="org.apache.coyote.http11.Http11NioProtocol" /> <property name="scheme" value="https" /> <property name="secure" value="true" /> <property name="SSLEnabled" value="true" /> <property name="keystoreFile" value="/path/to/your/keystore" /> <property name="keystorePass" value="your_keystore_password" /> <property name="clientAuth" value="false" /> <property name="sslProtocol" value="TLS" /> </bean> <!-- 配置HTTP连接 --> <bean id="httpConnector" class="org.apache.catalina.connector.Connector"> <property name="port" value="80" /> </bean> <!-- 配置Tomcat服务器 --> <bean class="org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory"> <property name="additionalTomcatConnectors"> <list> <ref bean="sslConnector" /> <ref bean="httpConnector" /> </list> </property> </bean> </beans> ``` 在上述配置中,你需要将`keystoreFile`属性设置为SSL证书的路径,将`keystorePass`属性设置为证书的密码。 4. 重新部署应用程序: 完成以上配置后,重新部署Spring MVC应用程序,并确保服务器已正确配置SSL连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值