阿里云Ubuntu下tomcat8.5配置SSL证书

家住魔仙堡 提交于 2019-12-01 08:15:29

环境

  • 阿里云ubuntu(18.04)服务器
  • 阿里云申请的域名
  • Tomcat8.5.7
  • jdk1.8
  • 免费型SSL证书

SSL证书申请

  1. 登录阿里云的官网,登录后在菜单中选择SSL证书(应用安全)

  2. 进入SSL证书界面后,选择购买证书

  3. 进入SSL证书购买界面,选择免费型DV SSL证书(有钱请忽视)购买即可。

  4. 购买成功后重新返回SSL证书控制台,可以看到刚才购买的未签发状态的证书,点击证书申请。

  5. 右侧会弹出窗口让你填写信息,并验证,都有提示很好填的,只需要填写域名和www即可,下面的我是默认的。填写并验证后,等待签发完成,很快就会好。

  6. 签发完成后,可以看到证书已经变成了已签发状态,点击下载,右侧会弹出提示你下载不同的服务器类型的证书,此处我下的是tomcat。

证书导入

  1. 下载完成后是一个压缩包,扔到服务器上解压,里面是两个后缀为 .fpx和.txt的文件,当然我下的是tomcat版本的,其他的不一定是这两个。

  2. 两个文件我是放在tomcat目录下->conf->cert(新建的一个文件夹)下的,其实都可以,后面配置的时候路径不写错就行。

修改server.xml配置

     #1.端口原来是8080,修改成80(http),这样可以去端口访问,然后redirectPort由8443重定向到443(https)
     <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="1000000"
               redirectPort="443"
               maxHttpHeaderSize="8192" 
               maxPostSize="-1"/>


    #2.首先port由8443改为443,然后填入pfx文件的路径和密码(那个txt文件的内容)
    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
                <Certificate certificateKeystoreFile="你下载的pfx文件的绝对路径,如:/home/tomcat/cert/xxx.pfx"
                        certificateKeystoreType="PKCS12" 
                        certificateKeystorePassword="下载下来的哪两个文件中,后缀为txt文件打开里面就是密码,输入到这里"/>
        </SSLHostConfig>
    </Connector>![](https://img2018.cnblogs.com/blog/1490101/201910/1490101-20191014165913312-1253374785.png)

    
    
   #3.还有一处 配置跳转到443端口
   <!-- Define an AJP 1.3 Connector on port 8009 -->
   <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
   

修改web.xml配置

    #直接 G 跑到文件末尾,在</web-app> 前面添加即可
    <login-config>
        <!-- Authorization setting for SSL -->
        <auth-method>CLIENT-CERT</auth-method>
        <realm-name>Client Cert Users-only Area</realm-name>
    </login-config>
    <security-constraint>
            <!-- Authorization setting for SSL -->
            <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>

开放端口

  • 登录阿里云控制台,配置安全组规则,把443端口打开就行了,然后就是服务器的防火墙也要开放443端口

测试SSL

  1. 启动tomcat

  2. 用https访问

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!