Tomcat 申请证书及部署https

Tomcat 证书部署

1 获取证书

从腾讯云 https://console.qcloud.com/ssl 申请免费证书,这里注意写上密钥地址,这样下载证书时可以直接获取到tomcat的证书。以下以优速云网站(暂未替换为https)为例说明

2 证书安装

配置SSL连接器,将www.yousuloud.com.jks文件存放到conf目录下,然后配置同目录下的server.xml文件:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
    	maxThreads="150" scheme="https" secure="true" 
    	keystoreFile="conf\www.yousucloud.com.jks" 
    	keystorePass="申请时填写的密码" 
    	clientAuth="false" sslProtocol="TLS" />   

注:

参数 说明
clientAuth 如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证
keystoreFile 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于 (Tomcat安装目录)环境变量的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为 “.keystore”的文件。
keystorePass 密钥库密码,指定keystore的密码。(如果申请证书时有填写私钥密码,密钥库密码即私钥密码)
sslProtocol 指定套接字(Socket)使用的加密/解密协议,默认值为TLS

3 http自动跳转https的安全配置

到conf目录下的web.xml。在</welcome-file-list>后面,</web-app>,也就是倒数第二段里,加上这样一段

<security-constraint> 
   <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>

这步目的是让非ssl的connector跳转到ssl的connector去。所以还需要前往server.xml进行配置:

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> 

redirectPort改成ssl的connector的端口443,重启后便会生效。

 

注意:

在申请时需要文件验证,请将附件【.well-known.zip】解压到ROOT下,结构:\tomcat-7.0.8_64\webapps\ROOT\.well-known\pki-validation\fileauth.txt

 

猜你喜欢

转载自zhengcaihai529.iteye.com/blog/2370375