• tomcat开启https服务


    一、创建证书

    证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,中文官方网站:http://www.verisign.com/cn/

    用JDK自带的keytool工具生成证书:

    打开命令行界面,输入:keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore  -validity 36500

    d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。

    "-validity 36500含义是证书有效期,36500表示100年,默认值是90天.

    下面为命令的过程,主要需要记住密钥库口令。

    输入密钥库口令:
    再次输入新口令:
    您的名字与姓氏是什么?
    [Unknown]: gradven
    您的组织单位名称是什么?
    [Unknown]: gradven.com
    您的组织名称是什么?
    [Unknown]: gradven.com
    您所在的城市或区域名称是什么?
    [Unknown]: hangzhou
    您所在的省/市/自治区名称是什么?
    [Unknown]: zhejaing
    该单位的双字母国家/地区代码是什么?
    [Unknown]: CN
    CN=gradven, OU=gradven.com, O=gradven.com, L=hangzhou, ST=zhejiang, C=CN是否正确
    ?
    [否]: 是

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

    二、配置tomcat

    进入tomcat文件夹 
    找到conf目录下的sever.xml并进行编辑

    编辑 
      <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
         maxThreads="150" scheme="https" secure="true" 
         clientAuth="false" keystoreFile="D:/ApacheSoftwareFoundation/apache-tomcat-6.0.3/conf/tomcat.keystore" 
         keystorePass="123456" sslProtocol="TLS" /> 
    注: 
    参数中的keystorePass的密码,就是刚才我们设置的“123456”.

    然后重启tomcat,使用https://127.0.0.1:8443 访问页面,能访问即可。

    最后在应用程序中web.xml中<web-app>节点下加入以下配置,就可以根据url匹配限制需要强制走https的页面:

    (另外还有一种比较土的方法是,增加一个过滤器拦截所有的请求,可以选择将请求地址强制http更改为https, 还注意下端口的更改)

        <login-config>
         <!-- Authorization setting for SSL -->
         <auth-method>CLIENT-CERT</auth-method>
         <realm-name>Client Cert Users-only Area</realm-name>
       </login-config>
       <security-constraint>
       <!-- Authorization setting for SSL -->
         <web-resource-collection >
         <web-resource-name >SSL</web-resource-name>
         <url-pattern>/jsp/snp/*</url-pattern>
         </web-resource-collection>
         <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
         </user-data-constraint>
       </security-constraint>
  • 相关阅读:
    问题:贴友关于CSS效果的实现
    建站小记
    PHP基本语法的小结
    算法的想法
    算法导论
    算法真的复杂
    快速排序-移动单边指针
    如何实现算法
    c++ constructor, copy constructor, operator =
    阶段性总结
  • 原文地址:https://www.cnblogs.com/gradven/p/4995889.html
Copyright © 2020-2023  润新知