tomcat开启https服务

1、建立证书

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

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

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

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

"-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是否正确
?
[否]: 是app

进入到D盘根目录下能够看到已经生成的tomcat.keystore 。jsp

2、配置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 访问页面,能访问便可。url

 

最后在应用程序中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>
相关文章
相关标签/搜索