阿里云通配符SSL证书在内网tomcat服务器上的部署安装

在部署证书的时候踩了无数的坑,在此做一下记录,在这个证书上耗了两天时间,也是醉了。。。

第一步 购买证书并绑定通配域名

这一步,不用多说
首先在阿里云网站上购买证书;购买过程就不赘述了,找他们客服,都非常热情,毕竟是要买他们东西~
获得证书时将证书绑定到某通配域名下,如:*.abc.com,根据各自的情况绑喽
此处需要提到的是:该通配符域名可以用于保护abc.com的所有下级域名,如flower.abc.com、hello.abc.com等,数量不限,价格相较于单域名证书也要贵一丢丢
在这里插入图片描述

第二步 tomcat服务器配置

买好域名证书后就可以配服务器了~

NO.1 调通网络

由于我们企业的服务器一般都位于 内网 ,与外部SSl服务器是网络不通的,因此先要在防火墙上做好服务器IP及端口到外网ip和端口的映射。也就是将服务器某个端口发布到外网。
如果您的服务器步在外网,则忽略本小节,直接到NO.2
内网网络映射至外网

举例:
服务器IP为:11.22.33.44(举例)
tomcat端口:8033(此处为自定义,视大家具体部署情况而定,8011、9231等等)
ssl服务端口:默认443,当然也可以自定义,比如8000,只不过设在非443的端口上时,部署证书后需要带端口访问**

服务器在内网的情况下,需要将ssl端口443(或自定义的特定端口,通俗点讲,以后ssl就是通过这个端口与外网互通的),在防火墙上进行配置,映射到外网某个IP下的443(或自定)端口

其他的就不需要做什么了

NO.2服务器上放置证书文件

当购买证书后,后台会针对各种web服务器生成各种证书,如下图所示,我用的是tomcat,对应下载即可。
在这里插入图片描述
下载后会获得以下两个文件,

第一个文件xxxx_abc.com.pfx,这里文件名中“xxxx”在放到服务器上后需要修改为自己的域名,如hello.abc.com.pfx;
第二个文件pfx-password.txt中放有秘钥,后面tomcat配置会用到
在这里插入图片描述

将证书文件放置在服务器上的某个路径下,最好用个单独的文件夹放这两个文件。
记住这个路径,后面会用到(注:此处路径没有特殊要求,官方教程里所放在tomcat根目录下,其实不放在那里也可以)
在这里插入图片描述

NO.3修改tomcat配置文件

打开tomcat根目录/conf/server.xml配置文件,在server.xml文件中找到以下参数并进行修改。
注:官网的部署教程文档中还让修改server.xml中另外一个片段(转发端口),但是我的实践结果表明,只修改一下片段就可以了。

    <Connector port="8443" #这个8443是需要修改的,可以改成默认的443,也可以改成别的端口,必须保证改端口跟外网通
          protocol="org.apache.coyote.http11.Http11NioProtocol" #固定串,无需修改
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       
                certificateKeystoreFile="cert/keystore.pfx"#此处修改为服务器上.pfx文件地址
                certificateKeystorePassword="XXXXXXX"#pfx-password.txt文档中的秘钥串
                certificateKeystoreType="PKCS12" />#无需修改
        </SSLHostConfig>
    </Connector>

修改后如下:

  #找到以上参数,去掉<!- -  - ->这对注释符并修改为如下参数:
    <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>

NO.4 重启tomcat

重启后,先本地浏览器访问https://localhost/项目名/xxx
如果正常打开页面,说明证书部署成功

我在部署过程中遇到的问题:配置完后访问不通

问题1:证书和tomcat都配置完后,服务器本地访问不通,用https://xxx打不开项目页面
解决:端口冲突,检查server.xml中ssl占用的端口是否与tomcat其他端口冲突导致访问失败

问题2:部署后本地服务器能访问通,外网访问不通,用https://xxx打不开项目页面
解决:就我部署的过程中总结,这个是防火墙上端口没有映射到外网导致的,需要检查防火墙配置,看对应的443或其他端口是否放行

最后附上官网教程链接,本篇中有所不到之处敬请指正,也欢迎评论区交流,共同进步。

阿里云官网证书部署教程-tomcat

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值