环境
- 阿里云ubuntu(18.04)服务器
- 阿里云申请的域名
- Tomcat8.5.7
- jdk1.8
- 免费型SSL证书
SSL证书申请
登录阿里云的官网,登录后在菜单中选择SSL证书(应用安全)
进入SSL证书界面后,选择购买证书
进入SSL证书购买界面,选择免费型DV SSL证书(有钱请忽视)购买即可。
购买成功后重新返回SSL证书控制台,可以看到刚才购买的未签发状态的证书,点击证书申请。
右侧会弹出窗口让你填写信息,并验证,都有提示很好填的,只需要填写域名和www即可,下面的我是默认的。填写并验证后,等待签发完成,很快就会好。
签发完成后,可以看到证书已经变成了已签发状态,点击下载,右侧会弹出提示你下载不同的服务器类型的证书,此处我下的是tomcat。
证书导入
下载完成后是一个压缩包,扔到服务器上解压,里面是两个后缀为 .fpx和.txt的文件,当然我下的是tomcat版本的,其他的不一定是这两个。
两个文件我是放在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
启动tomcat
用https访问