zoukankan      html  css  js  c++  java
  • tomcat中开启的对SSL(https)的支持

    打开conf/server.xml会发现有下面一段配置被注释着:

        <!--

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

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

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

        -->

    这段配置可以让tomcat支持SSL连接。默认是注释的。取消他的注释,并按需修改。

    secure必须设置为true,scheme必须设计为https

    如果你更改了SSL端口8443为其他端口,你必须修改其他非SSL的redirectPort,因为非SSL连接会重定向那些需要SSL安全约束的用户请求到你所修改的那个端口。

    去掉注释,并启动tomcat,输入 https://localhost:8443 就可以看到SSL加密效果。 8443是配置的ssl请求连接端口

    配置Keystores

    要使用ssl connector,必须先创建一个keystore。他包含了服务器中被客户端用于验证服务器的数字证书。一旦客户端接受了这个证书,客户端就可以使用public key去加密他们要发送的数据。而服务器,拥有一个private key,作为唯一解密数据的密钥。

    要创建keystore,可以使用JAVA_HOME/bin下的keytool

    keytool -genkey -alias tomcat -keyalg RSA

    其中:

    -genkey:创建一个public-private key pair

     -alias tomcat:用户别名为tomcat

    -keyalg RSA: 使用RSA算法。  MD5算法也是被支持的,但是建议使用RSA获得更好的兼容。

    上面那句话,创建了一个自签证书(self-signed certificate)

    运行上面这段命令后,如果是第一次使用,会让你输入密钥库口令,这个是仓库口令,然后输入个人资料,最后为tomcat用户设置口令,如果想设置为和仓库口令一致,直接回车即可。

    最后,会在C:UsersAdministrator(当前登录用户名)下生成一个.keystore的文件,保存tomcat等key信息。

     如下图所示:

    如果想使用keystore,那么将connector修改如下:

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

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

                   clientAuth="false" sslProtocol="TLS"   keystorePass="你刚才为tomcat用户添加的口令"/>

  • 相关阅读:
    非嵌入式数据库 软件很难普及 玩大
    FireMonkey下的异形窗体拖动(需要使用FmxHandleToHwnd函数转化一下句柄)
    公司开到高新技术区可以只收11的企业所得税,拿到软件企业认证后可享受所得税两免三减半(从盈利年度算起)
    猜测:信号槽的本质是使用Windows的自定义消息来实现的
    服务运行、停止流程浅析
    在线压缩JS的工具
    通用流程设计
    并行Linq(一)
    SQL基础知识总结(一)
    Easyui布局
  • 原文地址:https://www.cnblogs.com/franson-2016/p/5533791.html
Copyright © 2011-2022 走看看