欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux内核centos7服务器,tomcat8.5.5服务设置https访问

程序员文章站 2022-05-01 09:41:55
...

Linux发行版本:CentOS 7.8.2003
Apache服务器版本:apache-tomcat-8.5.50

  1. 需要先下载证书,我是腾讯云申请域名的时候申请了ssl证书
    https://console.cloud.tencent.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qcloud

  2. 下载好之后解压,将Tomcat文件夹下的.jks文件上传到apache目录conf下
    linux内核centos7服务器,tomcat8.5.5服务设置https访问

  3. 编辑同在conf目录下的server.xml文件,注意keystoreFile是你上传的文件名称,keystorePass是同在SSL证书Tomcat文件夹下的keystorePass.txt的内容。如果申请证书的时候你设置了私钥密码,keystorePass是你设置的私钥密码并且Tomcat文件夹下没有keystorePass.txt文件

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" 
      SSLEnabled="true" 
      scheme="https" 
      secure="true"
      keystoreFile="conf/www.jjjk.com.jks" 
      keystorePass="6783921hfeh"
      clientAuth="false" sslProtocol="TLS">
         <!--<SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/www.rewqre.jks"
                         type="RSA" 
       />
   
        </SSLHostConfig>-->
    </Connector>
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

可以先查看下已经有那些端口正在运行,两个端口都要避开已经运行的端口

[aaa@qq.com_0_3_centos ~]$ netstat -nltp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:26679           0.0.0.0:*               LISTEN      -                   
tcp        0      0 172.21.0.3:6679         0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:6679          0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      -  

配置好之后kill掉服务重启,使用https://域名:8443/examples/index.html即可访问,或者可以自己在tomcat目录webapps下新建页面new.html,使用https://域名:8443/new.html即可访问
linux内核centos7服务器,tomcat8.5.5服务设置https访问
其他配置可参考文档:http://tomcat.apache.org/tomcat-8.5-doc/ssl-howto.html

  1. 也可以自己生成证书,好像没什么作用,只能本地使用。公网使用https不能想http那样使用ip地址,因为你用的是域名绑定的加密文件

首先进入JAVA_HOME的bin目录下输入如下代码:

[aaa@qq.com_0_3_centos examples]$ echo $JAVA_HOME
/opt/java/jdk1.8.0_161

 cd /opt/java/jdk1.8.0_161/bin/             
 或者
 cd $JAVA_HOME/bin
 
 keytool -genkey -alias tomcat -keyalg RSA -keystore /tmp/tomcat.keystore -validity 36500 

存放路径/tmp/tomcat.keystory,把文件放到tomcat目录下的conf文件夹下,密码自己定义,修改下server.xml配置可以

其中

Enter key password for <tomcat>
 (RETURN if same as keystore password):

是server.xml同级目录tomcat-users.xml文件中配置的。生成成功后把文件粘贴到conf文件夹下。
配置下server.xml

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