Tomcat7配置https的坑【版本过低,升到7.0.92以上】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接和本声明。

这里使用的是阿里云的证书apache

登陆阿里云控制台https://account.aliyun.com/login/login.htm?spm=5176.8097504.1280361.7.2ec76fb5ZKtg5v&qrCodeFirst=false&oauth_callback=https%3A%2F%2Fwww.aliyun.com%2Fnotfound%2Ftomcat

这里用中国人都有的淘宝帐号就能够登陆。登进去以后主页搜索一下SSL证书,选择购买网站

证书类型选择 免费型DV SSL,而后完成购买阿里云

购买成功后进入ssl控制台能够看到本身购买的服务,点选申请spa

这里填入本身信息,建议选择文件验证,只须要把验证文件下载到本地部署到网站根目录就能够完成验证,使用DNS验证可能会有些问题。另外若是想本身设置密码能够选择手工填写CSR。确认没有问题以后等待几分钟就能够经过审核。.net

选择下载Tomcat对应的文件,为一个压缩包,里面只有两个文件(包含PFX格式证书文件和TXT格式密码文件),而不像网上有些说的是四个文件,可能也是在更名云盾以后有所更新(2019.5)code

接着就是配置了server

操做步骤

  1. 解压Tomcat证书。

    说明 每次下载证书都会产生新的密码,该密码仅匹配本次下载的证书。若是须要更新证书文件,同时也要更新匹配的密码。xml

  2. Tomcat安装目录下的conf下新建cert目录,将下载的证书和密码文件拷贝到cert目录下htm

  3. 打开Tomcat/conf/server.xml,在server.xml文件中找到如下参数并进行修改。

  4. <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        
     #找到以上参数,去掉<!- - 和 - ->这对注释符并修改成以下参数:
     <Connector port="80" protocol="HTTP/1.1"
     #将Connector port修改成80。
                   connectionTimeout="20000"
                   redirectPort="443" />   
                   #将redirectPort修改成SSL默认端口443,让HTTP访问自动跳转为HTTPS访问。
     
     
        <Connector port="8443"
              protocol="org.apache.coyote.http11.Http11NioProtocol"
              maxThreads="150"
              SSLEnabled="true">
            <SSLHostConfig>
                <Certificate       certificateKeystoreFile="cert/keystore.pfx"
                 certificateKeystorePassword="XXXXXXX"
                             certificateKeystoreType="PKCS12" />
     
        #找到以上参数,去掉<!- - 和 - ->这对注释符并修改成以下参数:
        <Connector port="443"
        #将Tomcat中默认的HTTPS端口Connector port 8443修改成443。8443端口不可经过域名直接访问、须要在域名后加上端口号;443端口是HTTPS的默认端口,可经过域名直接访问,无需在域名后加端口号。
              protocol="org.apache.coyote.http11.Http11NioProtocol"
              #server.xml文件中Connector port有两种运行模式(NIO和APR),请选择NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")这一段进行配置。
              maxThreads="150"
              SSLEnabled="true">
            <SSLHostConfig>
                <Certificate       certificateKeystoreFile="conf/cert/证书域名.pfx"
                 #此处certificateKeystoreFile表明证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile="conf/cert/abc.com.pfx"
                 certificateKeystorePassword="证书密码"
                 #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"
                 certificateKeystoreType="PKCS12" />
                 #证书类型为PFX格式时,certificateKeystoreType修改成PKCS12。

     

重启Tomcat基本就能够了

其实这个问题很简单,之因此踩坑彷佛是由于个人tomcat7版本号过低(7.0.82)用各类方法配置后都没有什么任何反应,升级到7.0.92就能够,顺手防了把漏洞

相关文章
相关标签/搜索