首页 > 代码库 > 配置tomcat https

配置tomcat https

生成安全证书

  1. 打开命令窗口

    Windows键+r,输入cmd

  2. 切换当前目录到tomcat的conf目录下

  3. 生成证书

    红色字体标识的参数按实际需要修改

     

    keytool -genkey -alias tomcat -keyalg RSA -keystore E:\apache-tomcat-7.0.57\conf\tomcat.keystore -validity 36500 -keypass 123456 -storepass 123456 -dname "CN=localhost,ou=test,L=nanjing,ST=jiangsu,c=CN"

     

    keytool -selfcert -alias tomcat -keystore tomcat.keystore

    执行后会提示:输入密钥库口令:(输入上面的123456)

     

    keytool -export -alias tomcat -keystore tomcat.keystore -storepass 123456 -rfc -file tomcat.cer

     

    证书生成完毕。

     

修改tomcat配置文件

  1. 打开conf目录下的server.xml。修改证书路径和密码。

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

 

<Connector SSLEnabled="true" clientAuth="false" keystoreFile="conf/tomcat.keystore" keystorePass="123456" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>

 

2.在<tomcat>/conf/web.xml或者<tomcat>/webapps/<工程>/WEB-INF/web.xml配置那些url需要https访问

<security-constraint>  

        <web-resource-collection >

            <web-resource-name >SSL</web-resource-name>  

           <url-pattern> /*</url-pattern>  <-- 所有url都强制使用https-->

<url-pattern> /order/*</url-pattern>  <-- 所有order目录下url都强制使用https-->

<url-pattern> /user/edityUser.do</url-pattern>  <-- 单个页面强制使用https-->

        </web-resource-collection>  

        <user-data-constraint>  

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

        </user-data-constraint>  

    </security-constraint>

配置tomcat https