• 阿里云centos7.4下tomcat8.5配置ssl证书


    环境

    阿里云centos7.4 

    域名也是阿里申请的

    jdk1.8

    tomcat8.5

    1.申请证书

    登录到阿里云的域名管理,可以看到已经申请过得域名,我这里第一个已经配置了ssl,第二个未配置,点击更多,进入ssl证书的申请

     我们这里申请免费的证书(家里没矿QAQ,只能用免费的)

    填写绑定的域名

    鼠标点点就可以提交申请,审核通过后就可以到这里查看

    2.下载证书

    在已签发的证书处,找到下载,因为我们是要配置tomcat的,所以就下对应的版本

    3.导入证书

    下载证书到本地后,解压得到两个文件,一个是.pfx文件,一个是密码文件

    将文件上传到centos,我是将文件保存到服务器对应tomcat下的cert文件夹中

    4.server.xml配置

    原来端口是8080,改为80,可以免去输入时不用带端口就能直接访问,同理,重定向端口原来时8443,改为443

    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443"/>
        <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="www.xxx1.cn">
            <SSLHostConfig hostName="www.xxx1.cn">
                <Certificate certificateKeystoreFile="{你下载的pfx文件的绝对路径,例如:/usr/local/tomcat/cert/xxx1.pfx}" certificateKeystorePassword="{你下载的pfx文件的密码}" certificateKeystoreType="PKCS12" certificateKeyAlias="alias"/>
            </SSLHostConfig>
        </Connector>

    如果一个tomcat要被两个域名映射,可以这样添加

        <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443"/>
        <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="www.xxx1.cn">
            <SSLHostConfig hostName="www.xxx1.cn">
                <Certificate certificateKeystoreFile="{你下载的pfx文件的绝对路径,例如:/usr/local/tomcat/cert/xxx1.pfx}" certificateKeystorePassword="{你下载的pfx文件的密码}" certificateKeystoreType="PKCS12" certificateKeyAlias="alias"/>
            </SSLHostConfig>
            <SSLHostConfig hostName="www.xxx2.cn">
                <Certificate certificateKeystoreFile="{你下载的pfx文件的绝对路径,例如:/usr/local/tomcat/cert/xxx2.pfx}" certificateKeystorePassword="{你下载的pfx文件的密码}" certificateKeystoreType="PKCS12" certificateKeyAlias="alias"/>
            </SSLHostConfig>
        </Connector>

    往下还要配置,将所有的跳转都由443处理

    <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

    5.web.xml配置

    打开server.xml同个目录下的web.xml

    </welcome-file-list>

    下添加

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

    6.添加端口

    阿里云开放443端口,登录后阿里云esc服务器管理,根据自己需求添加规则

    回到centos防火墙设置

    查看防火墙开启的所有端口
      firewall-cmd --zone=public --list-ports
    添加开放的端口(添加443端口)
      firewall-cmd --zone=public --add-port=443/tcp --permanent
    刷新配置
      firewall-cmd --reload

    7.重启tomcat

    在tomcat目录bin下执行

    ./shutdown.sh 

    ./startup.sh

    8.测试访问

    如果地址前加https能访问成功,说明tomcat配置ssl证书成功了。

    ps:

    1.tomcat8是个分水岭,8以上和8以下配置时不一样的,可以参考官网的手册

      tomcat7以及以下的配置:https://help.aliyun.com/knowledge_detail/95496.html

      tomcat8的以及以上的配置:https://help.aliyun.com/document_detail/102939.html

  • 相关阅读:
    Linux嵌入式 -- 内核
    Linux嵌入式 -- 内核
    utf8和utf8mb4区别
    二叉树的实现
    python资源大全2
    树与树算法
    二叉树
    70.最小生成树
    68.营救问题(广搜)
    67.迷宫问题(广搜)
  • 原文地址:https://www.cnblogs.com/maixiaodou/p/10648786.html
Copyright © 2020-2023  润新知