zoukankan      html  css  js  c++  java
  • apache Tomcat配置SSL(https)步骤

    Tomcat配置https

    1      生成Server端安全证书

    要实现通信加密,首先要在本地准备一份符合X.509标准的Server端安全证书。如果有条件的话,可以向权威CA申请一份经过认证的安全证书(需要繁琐的手续和金钱)。如果没有条件的话,可以使用JDK提供的证书生成工具,在Windows命令行中操作如下:

    C:> keytool -genkey -keyalg RSA -keysize 1024  -sigalg SHA1withRSA -dname "cn=127.0.0.1,ou=product,o=nokia,c=CN" -validity 3650 -storepass nokia12345 -keystore c:key.store

    输入<mykey>的主密码

            (如果和 keystore 密码相同,按回车):(按回车)

    这样就在C:目录下生成了Server端的安全证书(key.store)。

    备注:Linux下创建证书时,只需要更改上面命令的路径信息,其余不变。

      注意:

    1. 生成安全证书的工具keytool的参数validity表示证书的有效期,单位为天,需要根据实际需要配置。
    2. 作为Server端安全证书,CN字段必须与WEB应用的实际域名保持一致,否则会使客户端报证书名称不一致。
    3. 由于某些web容器的原因,keypass和storepass必须保持一致。
    4. 打开Tomcat安装目录下的/conf/server.xml文件。
    5. 修改http重定向到https的端口:

    2      添加Server端安全证书

        <Connector executor="tomcatThreadPool"

                   port="8080" protocol="HTTP/1.1"

                   connectionTimeout="20000"

                   redirectPort="443" />

    注意:不同的tomcat版本,其配置项可能有一定差别,请在原配置文件上修改蓝色部分即可。

    1. 修改https参数

    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"

              maxThreads="150" scheme="https" secure="true"

              ciphers="SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"

              keystoreFile="c:/cert/key.store" keystorePass=" nokia12345 "

              clientAuth="false" sslProtocol="TLS" />

    注意:

    keystoreFile参数的文件名请使用绝对路径,keystorePass参数上的口令即storepas口令。

    1. 如果SSL不能正常启动,可以指定使用Java Secure Socket Extension (JSSE),即将protocol="HTTP/1.1"修改为protocol="org.apache.coyote.http11.Http11Protocol"

    3      配置需要强制使用SSL的目录或文件

    例如对于/SSL目录下的所有文件和/test/login.jsp需要强制使用SSL,则编辑Tomcat对应web应用目录下的WEB-INF/web.xml,在<web-app>节中加入如下配置:

    <security-constraint>

             <web-resource-collection>

                       <web-resource-name>SSL</web-resource-name>

                       <url-pattern>/SSL/* </url-pattern>

                       <url-pattern>/test/login.jsp</url-pattern>

             </web-resource-collection>

             <user-data-constraint>

                       <transport-guarantee>CONFIDENTIAL</transport-guarantee>

             </user-data-constraint>

    </security-constraint>

    注意:

    Web应用中,从https切换到http过程中会丢失session,无法保持会话的连续。解决的办法就是用http-https-http过程代替https-http过程,保证会话的连续性。

    4      重新启动Tomcat

    5      测试建议

    1. 在浏览器里输入:https://xx.xx.xx.xx:8443,应能通过SSL正常访问。
    2. 对于https切换到http页面需要重点进行测试,检查切换后会话是否中断。
    3. 在手机终端上进行测试,看能否正常使用。(如果有手机终端用户的话)。
    4. 使用SSL后,对性能会有影响,可进行性能测试。(可选)
  • 相关阅读:
    P1144 最短路计数 题解 最短路应用题
    C++高精度加减乘除模板
    HDU3746 Teacher YYF 题解 KMP算法
    POJ3080 Blue Jeans 题解 KMP算法
    POJ2185 Milking Grid 题解 KMP算法
    POJ2752 Seek the Name, Seek the Fame 题解 KMP算法
    POJ2406 Power Strings 题解 KMP算法
    HDU2087 剪花布条 题解 KMP算法
    eclipse创建maven项目(详细)
    maven的作用及优势
  • 原文地址:https://www.cnblogs.com/qqzy168/p/3140252.html
Copyright © 2011-2022 走看看