美文网首页
tomcat配置https,cer、key转换,https无法访

tomcat配置https,cer、key转换,https无法访

作者: 李孝伟 | 来源:发表于2018-05-17 13:59 被阅读394次

    一、背景:

    1、证书文件已拥有,且证书格式是cer和key形式
    2、centos系统,super用户非root
    

    二、部署:

    1、将证书转为keystore形式

      1)先转为p12格式
         openssl pkcs12 -export -in ./server.cer -inkey ./server.key -out ./projectX.p12
        记住输入的密码
      2)将p12转为.keystore格式
        keytool -importkeystore -v  -srckeystore ./projectX.p12 -srcstoretype pkcs12 -srcstorepass   123456 -destkeystore ./server.keystore -deststoretype jks -deststorepass 123456
    

    2、配置tomcat下server.xml文件

      <Connector executor="tomcatThreadPoolHttps" port="8443"
    redirctPort="6064" protocol="org.apache.coyote.http11.Http11NioProtocol"
    SSLEnabled="true" maxHttpHeaderSize="8192" acceptCount="1000"
    enableLookups="false" scheme="https" secure="true"keystoreFile="./cert/server.keystore"  
    keystorePass="123456"
    clientAuth="false" sslProtocol="TLSv1.2" />
    和
      <Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
      这里端口配置为8443, 都是https,其与443的区别在于443可以不用带端口号访问;因为super用户权限问题,这里只能配置8443。
    

    3、如果配置的是8443,但是外网映射的是443,这就需要转发一下了,这里使用的是iptables端口转发
    由于没有权限,所以直接以下命令是没有效果的

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

    但是可以修改iptables文件的方式:

    sudo vi /etc/sysconfig/iptables
    添加:-A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
    然后:service iptables restart 即可
    

    三、中间遇到的问题:

    1、tomcat启动后http可以访问,443或8443都不能访问
      这是因为443端口没有起来,看下日志就可以看到:
      ["http-nio-443"]  java.net.SocketException: Permission denied
    2、使用netstat -ntlp看下端口监听情况:
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
    tcp        0      0 0.0.0.0:8443                0.0.0.0:*                   LISTEN      25888/java          
    tcp        0      0 127.0.0.1:8005              0.0.0.0:*                   LISTEN      25888/java          
    tcp        0      0 0.0.0.0:8009                0.0.0.0:*                   LISTEN      25888/java          
    tcp        0      0 :::22                       :::*                        LISTEN      -                   
    看8443是否启动
    3、端口已经启动,但是访问一直加载或还是访问不通
      这个就是内网与外网映射端口问题了,如果只映射了443,那8443是铁定访问不了了。
    

    相关文章

      网友评论

          本文标题:tomcat配置https,cer、key转换,https无法访

          本文链接:https://www.haomeiwen.com/subject/lpxbdftx.html