支付宝支付回调https失败,微信分享https连接在微信里打开空白,而chrome等浏览器访问正常。
是的,以上问题我作为半个运维在项目中遇到了,就是由于https证书链不完整引起的。
好吧,其实压根就不清楚什么证书链,什么证书链自行Google。
对于我们这样的小公司,一个域名一个证书一年怎么也得几千块,而苹果也强制要求https,恰好let's encrypt免费就用了。
用acme生成let's encrypt免费证书,只有三个月有效期,到期后(没到期也可以)要重新生成。acme默认生成以下文件:
[root@node_test test01.com]# ll
-rw-r--r-- 1 root root 1647 Dec 21 15:55 ca.cer
-rw-r--r-- 1 root root 3452 Dec 21 15:55 fullchain.cer
-rw-r--r-- 1 root root 1805 Dec 21 15:55 test01.com.cer
-rw-r--r-- 1 root root 513 Dec 21 15:55 test01.com.conf
-rw-r--r-- 1 root root 944 Dec 21 15:54 test01.com.csr
-rw-r--r-- 1 root root 175 Dec 21 15:54 test01.com.csr.conf
-rw-r--r-- 1 root root 1675 Sep 8 10:29 test01.com.key
而在nginx中配置证书时,如果用的test01.com.cer就会有问题,而fullchain.cer才是完整的。
acme真实个好工具:https://github.com/Neilpang/acme.sh