现在的位置: 首页 > 综合 > 正文

Https_Tomcat服务器端配置

2012年08月28日 ⁄ 综合 ⁄ 共 1746字 ⁄ 字号 评论关闭

Https_Tomcat服务器端配置

配置方法:

1.      第一步:为服务器生成证书
使用keytool为Tomcat生成证书,假定目标机器的域名是“localhost”,keystore文件存放在“E:\tomcat.keystore”,使用如下命令生成:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore E:\tomcat.keystore
安装提示输入用户名,组织,地区,国家等,即可正确生成,该步为服务器生成了证书。单向认证的话,到这一步即可。但是这样产生的证书,因为没有经过专门的CA认证,浏览器访问时,会弹出警告。

2.     第二步:修改https配置

打开tomcat/conf目录下的server.xml文件并找到关于ssl的相关段,去掉注释,添加

keystoreFile="E:/tomcat.keystore" keystorePass="123123"

truststoreFile="E:/tomcat.keystore"truststorePass="123123"

两段代码,keystorePass的值为前面设置的密码。

修改后的配置如下 :

<Connectorport="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https"secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="E:/tomcat.keystore"keystorePass="123123"
    truststoreFile="E:/tomcat.keystore"truststorePass="123123" />
说明:其中,clientAuth指定是否需要验证客户端证书,如果该设置为“false”,则为单向SSL验证,SSL配置可到此结束。如果clientAuth设置为“true”,表示强制双向SSL验证 ,必须验证客户端证书。如果clientAuth设置为“want”,则表示可以验证客户端证书,但如果客户端没有有效证书,也不强制验证。 true是 服务器不会颁发证书必须由客户端导入 。重启服务器,输入url:https://localhost/可看到tomcat欢迎页面,即为成功。

3.      第三步:强制https访问
在tomcat\conf\web.xml中的</welcome-file-list>后面加上这样一段:

<login-config>  

<!--Authorization setting for SSL -->  

<auth-method>CLIENT-CERT</auth-method>  

<realm-name>ClientCert 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>/*</url-pattern>  

</web-resource-collection>  

<user-data-constraint>  

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

</user-data-constraint>  

</security-constraint>

 

完成以上步骤后,在浏览器中输入http的访问地址也会自动转换为https了。

4.     第四步:将APR library注释掉

将tomcat\conf\service.xml中

<ListenerclassName="org.apache.catalina.core.AprLifecycleListener"SSLEngine="on" />注释掉。

以上步骤完成后重启Tomcat,HTTPS即设置成功。

抱歉!评论已关闭.