Tomcat部署SSL证书过程中遇到的问题

在CentOS7中Tomcat部署SSL证书时遇到的问题

1.配置servlet.xml

配置tomcat/conf/server.xml 加入以下代码


    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="证书路径"   
    keystoreType="PKCS12"
    keystorePass="这里写密码"   
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

 

tomcat非root用户只能使用1024以上的端口,

对1024以下的端口进行设置会报以下错误,如443端口:(没有权限)

Permission denied :443

root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。

这意味着你的任何一个页面脚本(html/js)都具有root权限,所以可以轻易地用页面脚本 修改整个硬盘里的文件!

所以最好不要使用root启动tomcat。

因为之前配置80端口时也遇到过,所以想到直接转发端口

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

这里有一个小坑 在配置证书pfx 地址的时候路径一定要写对,在conf/servlet.xml 的相对路径下是tomcat的根路径,

并不是conf(这个在tomcat启动后发现无法访问网站,看了日志以后才知道..)

密码直接复制上去就可以了

2.http强转https

在conf/web.xml下加入以下内容:

#在后添加以下内容:
  
      
    CLIENT-CERT  
    Client Cert Users-only Area  
  
  
      
      
        SSL  
        /*  
      
      
        CONFIDENTIAL  
      

配置强转以后,我发现访问http 的时候给我转发到8443端口上了,导致无法访问https,http端口为如下配置

后来将redirectPort改成如下 就好了,应该就是重定向端口的意思(小白猜测)

 redirectPort="443"

3.重启tomcat服务

千万别忘了阿里云的防火墙开启443端口!!!

这个时候不要急,重启后服务器还要编译文件,可能要等个几分钟才能访问你的网站.

 

你可能感兴趣的:(Tomcat部署SSL证书过程中遇到的问题)