Tomcat中采用HTTPS访问

来源:互联网 发布:linux开机自启动 编辑:程序博客网 时间:2024/05/16 11:17

基于HTTPS的访问是安全的,原因不详谈了,我们谈下在tomcat下如何使用https

环境:

[java] view plaincopy
  1. Server version: Apache Tomcat/6.0.35  
  2. Server built:   Nov 28 2011 11:20:06  
  3. Server number:  6.0.35.0  
  4. OS Name:        Windows XP  
  5. OS Version:     5.1  
  6. Architecture:   x86  
  7. JVM Version:    1.6.0_21-b06  
  8. JVM Vendor:     Sun Microsystems Inc.  

1.基于jdk的keytool工具生成key,保存路径:%tomcat_home%\tomcat.key

[java] view plaincopy
  1. keytool -genkey -alias tomcat -keyalg RSA  -keystore D:\tools\tomcat6.0.35\tomcat.key  

 步骤中会有一系列输入回车,但是需要记住keystorePass,我的为abc2013

2.修改%tomcat_home%\conf的server.xml增加如下:

[xml] view plaincopy
  1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
  2.            maxThreads="150" scheme="https" secure="true"  
  3.            clientAuth="false" sslProtocol="TLS"   
  4.   keystoreFile="D:\tools\tomcat6.0.35\tomcat.key"   
  5.            keystorePass="abc2013"/>  

 上面有生成的key路径和pass直接写入即可

3.使用方式:

有两种使用方式,一个是对tomcat的全局应用,一种是基于单个应用

基于tomcat的全局应用:

修改%tomcat_home%\conf的web.xml,指定想要采用的url,下面为对/login采样https访问

Xml代码 复制代码 收藏代码
[xml] view plaincopy
  1. <login-config>    
  2.     <auth-method>CLIENT-CERT</auth-method>    
  3.     <realm-name>Client Cert Users-only Area</realm-name>    
  4. </login-config>    
  5. <security-constraint>    
  6.     <web-resource-collection >    
  7.         <web-resource-name >SSL</web-resource-name>    
  8.         <url-pattern>/login/*</url-pattern>    
  9.     </web-resource-collection>    
  10.     <user-data-constraint>    
  11.         <transport-guarantee>CONFIDENTIAL</transport-guarantee>    
  12.     </user-data-constraint>    
  13. </security-constraint>  

 也就是会匹配所有的/login/*的请求

基于单个应用

修改%app_project%\WEB-INF的web.xml,指定想要采用的url,下面为对/ab/*采样https访问

Java代码 复制代码 收藏代码
[java] view plaincopy
  1. <login-config>    
  2.     <auth-method>CLIENT-CERT</auth-method>    
  3.     <realm-name>Client Cert Users-only Area</realm-name>    
  4. </login-config>    
  5. <security-constraint>    
  6.     <web-resource-collection >    
  7.         <web-resource-name >SSL</web-resource-name>    
  8.         <url-pattern>/ab/*</url-pattern>    
  9.     </web-resource-collection>    
  10.     <user-data-constraint>    
  11.         <transport-guarantee>CONFIDENTIAL</transport-guarantee>    
  12.     </user-data-constraint>    
  13. </security-constraint>  

 注意:

采样https的端口默认是8443,如果需要路由需要单独配置  
[java] view plaincopy
  1. 采样https的端口默认是8443,如果需要路由需要单独配置  

 

0 0
原创粉丝点击