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

Centos系统Tomcat服务器安装SSL证书

程序员文章站 2022-07-10 12:34:54
...

声明:本文以阿里云租的服务器为例。(域名和服务器均在阿里云购买)
服务器 :
系统:Centos 7.3 已安装:Tomcat 9.0
本机:
系统:Win10 已安装:MobaXterm(非常赞的一个应用)
1.使用本机前往阿里云官网购买SSL证书(个人)
https://common-buy.aliyun.com/?spm=5176.2020520163.cas.29.a70d56a7rZ31TP&commodityCode=cas#/buy
购买过程的一些细节根据官网的推荐来,都会有红色字体提示的!!!
2.购买后应该能看到Centos系统Tomcat服务器安装SSL证书
点击“下载”,选择“Tomcat”的下载,下载的zip文件,在本地解压。注意:如果你在购买的时候没有安装推荐的来的话,解压后只有一个pfx文件,没有txt文件
证书(domain name.pfx):以.pfx为后缀
密码(pfx-password.txt):以.txt为后缀
Tips:每次下载证书都会产生新的密码
2.在本机打开MobaXterm,(这里需要先连接上服务器,很简单,输入服务器ip地址,用户名+密码)
连接上去后Centos系统Tomcat服务器安装SSL证书
注意上面的红方框里的目录,我们可以直接点击进入,
进入到tomcat的安装目录Centos系统Tomcat服务器安装SSL证书
在这里新建一个cert目录。
也可使用

cd usr/local/tomcat
mkdir cert

这样的话上传两个文件需要自行搭建FTP服务,使用FTP上传,比较麻烦。
我们使用MobaXterm提供的功能,直接将两个文件从本地拖到对应的目录中。(本质上使用的还是FTP)
3.打开tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改。
这里还是使用MobaXterm的功能,打开文件它会打开自带的编辑器,编辑完成后,可以自动更新到服务器。
当然,你还是可以使用

vim server.xml

输入 i,进入INSERT模式,编辑后,按 ESC ,输入“:wq”,(保存并退出)
下面是要修改的内容:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数,对HTTPS默认端口进行配置:
 <Connector port="80" protocol="HTTP/1.1"   #将Connector port修改为80。
               connectionTimeout="20000"
               redirectPort="443" />    #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。
<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="/usr/local/tomcat/cert/证书域名.pfx"   #此处certificateKeystoreFile代表证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
             certificateKeystorePassword="证书密码"   #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"
             certificateKeystoreType="PKCS12" />   #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
        </SSLHostConfig>
    </Connector>
 port="8009" protocol="AJP/1.3" redirectPort="8443" />

#找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />  #将redirectPort修改为443,让HTTPS请求转发到443端口。

修改web.xml,在web.xml文件最底部添加以下内容,实现HTTP自动跳转为HTTPS。

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

4.进入的usr/local/tomcat/bin目录下
使用

./shutdown.sh  #停止
./startup.sh   #启动

重新启动Tomcat。
5.在浏览器地址栏输入
https://yourdomain
跳转到Tomcat的默认页面就成功了。
Centos系统Tomcat服务器安装SSL证书