zoukankan      html  css  js  c++  java
  • Tomcat使用Https协议

    背景:

    在一个项目上线的过程中,采用了阿里云的负载均衡,而不是nginx的负载均衡,所以需要配置tomcat支持https协议

    1、生成keystore

    1 keytool -genkeypair -alias "tomcat" -keyalg "RSA" -validity 90 -keystore "/root/tomcat.keystore"  

    "/root/tomcat.keystore"  生成的keystore位置和名称

    -keyalg "RSA"  加密算法

    -validity 90 有效天数

    2、配置Tomcat(conf文件夹中的server.xml)

    1 <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"  
    2                 maxThreads="150" SSLEnabled="true" scheme="https" secure="true"  
    3                 clientAuth="false" sslProtocol="TLS"  
    4                 keystoreFile="/root/tomcat.keystore"   
    5               keystorePass="tomcat" />

    keystorePass为生成keystore时输入的密码
    启动tomcat就可以以https访问了

    3、https与http协议转换(有些页面需要使用https访问,有些页面使用http访问)

    1 <Connector port="8080" protocol="HTTP/1.1"  
    2                connectionTimeout="20000"  
    3                redirectPort="8009" />

    替换为

    <Connector port="80" protocol="HTTP/1.1"  
                   connectionTimeout="20000"  
                   redirectPort="443" />

    4、页面强制使用https协议(例如:登录页面必须使用https协议)

    在项目资源中的web.xml或tomcat/conf/web.xml文件中的</welcome-file-list>后加上:  
    <web-resource-collection >  
        <web-resource-name >SSL</web-resource-name>  
        <url-pattern>/*</url-pattern><!-- 这里表示所有页面都必须使用https协议 -->  
    </web-resource-collection>  
        <user-data-constraint>   
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
        </user-data-constraint>   
    </security-constraint> 
  • 相关阅读:
    <c:forEach 的常用整理
    <div>
    HTML <td> 标签的 rowspan 属性
    ap-client.xml要配
    @Autowired
    hasResultError
    使用 EclEmma 进行覆盖测试
    IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)
    different between<A Href> and <jsp: forward>
    <button>与<input type="button">的区别
  • 原文地址:https://www.cnblogs.com/asen0713/p/7103913.html
Copyright © 2011-2022 走看看