Author:zfs
条件:阿里云服务器,tomcat,域名
1.首先进入你的阿里云控制台找到域名进去
2.之后在你的域名后面会有如下信息:
点击SSL证书进去,下面根据个人情况填写
3.填写完成之后等待证书签发即可,很快就会签发完成。
等待签发完成之后找到安全云盾里的SSL证书点进去,
找到后面的下载
点进去后找到tomcat的
点击下载证书会出来一个zip文件
4.之后可以在windows或你的服务器上解压出来
如果是windows上可以先解压出来文件夹,使用xftp软件或者在liunx上使用lrzsz把文件送到tomcat的目录下,即下面这个目录:
此时你应该是没有cert文件夹的,可以在此目录下新建一个cert文件夹,把下载出来的那个文件夹里的所有文件(注意是文件,不要把文件夹放过来)放到cert文件夹下:
5.此时进入cert目录下执行此命令设置PFX密码,
openssl pkcs12 -export -out xxxxxxxxx(这里填你自己对应的号,下同).pfx -inkey xxxxxxxxxxx.key -in xxxxxxxxxxx.pem
默认的密码是放在那个xxxxxxx.txt文件里的,你可以进去看一看
6.之后进去配置文件,找到conf文件夹里的server.xml文件
进去后找到相应的蓝色字体的那个位置,把那段其他颜色的代码插入进去:
代码如下:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="cert/xxxxxxxxxx(此处填你自己的号).pfx"
keystoreType="PKCS12"
keystorePass="此处是你自己设置的或那个默认的txt文件里的密码"
clientAuth="false" sslProtocol="TLS" />
注意配置的时候尽量别从windows上直接复制过去代码,不然有的时候会因为字的编码出现莫名其妙的bug,注意这里开放的端口号是443,为https的端口号,你也可以写默认的8443,之后再在此文件中找到这个位置:
你的port可能是8080,这不要紧!找到这个位置就行。
把后面那个位置,你的可能是8443,这不要紧!改成你前面配置成的8443或443.
如果填写443需要去配置一个安全规则,找到安全组进去:
点击配置规则
看一下入方向有没有这一条
有的话看下一步,没有的话点击此处添加安全组规则:
按如下方式填写点击确定即可
7.做到上一步重启tomcat就应该可以生效了,但是输入你的域名后不是默认的进入https,还需要进行一步配置
还是conf文件夹下,有一个web.xml文件,编辑找到这个位置:
在这段代码后面插入如下代码:
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<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>
保存退出,重启tomcat,去查收吧!