概述
阿里云通配符SSL证书在tomcat服务器上的部署安装
- 在部署证书的时候踩了无数的坑,在此做一下记录,在这个证书上耗了两天时间,也是醉了。。。
- 第一步 购买证书并绑定通配域名
- 第二步 tomcat服务器配置
- NO.1 调通网络
- NO.2服务器上放置证书文件
- NO.3修改tomcat配置文件
- NO.4 重启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
最后
以上就是害羞玫瑰为你收集整理的阿里云通配符SSL证书在内网tomcat服务器上的部署安装在部署证书的时候踩了无数的坑,在此做一下记录,在这个证书上耗了两天时间,也是醉了。。。我在部署过程中遇到的问题:配置完后访问不通最后附上官网教程链接,本篇中有所不到之处敬请指正,也欢迎评论区交流,共同进步。的全部内容,希望文章能够帮你解决阿里云通配符SSL证书在内网tomcat服务器上的部署安装在部署证书的时候踩了无数的坑,在此做一下记录,在这个证书上耗了两天时间,也是醉了。。。我在部署过程中遇到的问题:配置完后访问不通最后附上官网教程链接,本篇中有所不到之处敬请指正,也欢迎评论区交流,共同进步。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复