博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里云免费ssl证书+tomcat8.5配置https+通过域名直接访问项目
阅读量:3711 次
发布时间:2019-05-21

本文共 2042 字,大约阅读时间需要 6 分钟。

近期公司开发微信小程序,需要用到https进行访问,在这期间遇到很多的坑,下面说说我配置https的填坑之路。

网上免费的证书很多,在此我们用的是阿里云(之前在自己公司测试服务器上用的是jdk生成自签发证书,但这个不能通过安全验证),申请阿里云免费的证书绑定指定你购买的域名;Tomcat8.5和Tomcat9配置一样。

(1)申请证书

在申请证书的时候有一步验证的操作,上传验证文件fileauth.txt到相应的目录:该目录从站点的根目录(Tomcat下webapps/ROOT)算起,在站点的根目录下创建.well-known/pki-validation子目录,并把fileauth.txt文件上传到目录下。开始利用ftp直接创建.well-known是不能创建该目录的,需要使用命令mkdir .well-known来创建,rm -rf  .well-known删除文件夹及文件夹下的目录文件。开始我误把webapps当做更目录了,结果验证失败,后来在ROOT下创建的。

(2)申请证书成功之后,下载对应的证书文件在服务器上进行配置

(3)在Tomcat下创建cert文件夹,然后把上面两个文件上传进去。

(4)更改Tomcat配置,默认是Tomcat/conf/server.xml。根据阿里给的文档,测试了很久,也没有成功,这里就是一个大坑。最后发现发现tomcat8.5和其他版本不同(我用的是Tomcat8.5,这里应该是Tomcat8之后,配置就会不同,官方给的文档只是适用于Tomcat8之前),阿里文档连接

下面开始进行配置,打开Tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改。

首先设置端口为80,以便访问的时候不用输入端口号,将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。

然后找到<Connector port="8443" 这里是一段注释的代码,是Tomcat给出的两种配置样例,可以选择一个修改,也可以添加下面的代码,https默认端口443。

#证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。

再将下面代码进行修改,redirectPort修改为443,与上面https端口对应,让HTTPS请求转发到443端口。

(可选)添加<Context docBase="项目名称" path="" reloadable="true"/>,目的是为了不需要输入项目名称进行访问,这样配合80端口,就能通过域名直接访问项目

最后修改Tomcat/conf/web.xml文件,在web.xml文件最底部添加以下内容,实现HTTP自动跳转为HTTPS

SSL
/*
CONFIDENTIAL

(5)保存server.xml和web.xml文件配置。重启Tomcat服务。在Tomcat下的bin目录中执行./shutdown.sh关闭Tomcat服务。再执行./startup.sh开启Tomcat服务。

(6)最后在浏览器中输入您SSL证书绑定的域名https://www.YourDomainName.com验证证书安装结果。浏览器地址栏显示绿色的小锁标识说明证书安装成功。

在验证的时候掉进一个坑了,配置好过后,输入ip地址能访问,也解析到https,但就是显示不安全,输入域名访问不了,自认为自己配置有问题(这里就是自己掉进了死胡同)。前前后后多次查看修改步骤也都没发现错误,多次也测试无果。没办法先休息一下脑壳,可能宕机了。也是回到家后无意之间想起通过ip地址访问本身就是不安全的,那为什么域名访问不了,赶紧打开电脑发现是防火墙的443端口没有开放。所以遇到一直解决不了的问题,不要一直纠结,适当让自己放松一下,这样不至于掉进死胡同。

Centos7.5的防火墙放开443端口操作(逐条命令运行即可,分别为放开443的tcp传输、放开443的udp传输、重启防火墙):

①firewall-cmd --permanent --add-port=443/tcp

②firewall-cmd --permanent --add-port=443/udp
③systemctl restart firewalld

转载地址:http://hyajn.baihongyu.com/

你可能感兴趣的文章
设计模式第一次作业——UML类图
查看>>
codeforces.contest1305problemA/B
查看>>
Codeforces Round #303B. Equidistant String
查看>>
CodeCraft-20 B. String Modification
查看>>
图的最短路生成树
查看>>
Codeforces Round #303 A C D
查看>>
html学生信息注册
查看>>
括号匹配(栈)
查看>>
codeforces 1312 A B
查看>>
codeforces1312 C
查看>>
uml类图六大关系
查看>>
codeforces1312 D(组合数)
查看>>
Codeforces Round #627 (Div. 3)
查看>>
Codeforces Round #628C
查看>>
Codeforces Round #628D
查看>>
大数阶乘
查看>>
十六进制数转八进制
查看>>
十六进制数转十进制
查看>>
十进制转十六进制
查看>>
审美课(位运算+map标记)
查看>>