背景
今天有用户反馈昨天还在用的小程序,今天打开没有数据了。为此进行了如下测试:
- 用别的机器打开小程序:正常使用
- 让用户直接访问API地址:正常
- 将用户添加为开发者,用他的微信登录IDE调试:正常
-
让用户扫码真机调试:报错
原因
可能是昨天更新了证书,certbot改了配置文件,不再支持低版本的TLS
解决
修改/etc/nginx/conf.d/api-https.conf
中的配置,去掉certbot的默认配置项,增加TLSv1
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/docker.deling.ai/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/docker.deling.ai/privkey.pem; # managed by Certbot
#禁用它的原有配置
#include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
# 添加下面两行支持TLSv1,注意,仅在ssl_protocols中添加TLSv1是不行的
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
验证
-
用户验证可以使用