背景
今天有用戶反饋?zhàn)蛱爝€在用的小程序,今天打開(kāi)沒(méi)有數(shù)據(jù)了。為此進(jìn)行了如下測(cè)試:
- 用別的機(jī)器打開(kāi)小程序:正常使用
- 讓用戶直接訪問(wèn)API地址:正常
- 將用戶添加為開(kāi)發(fā)者瘟忱,用他的微信登錄IDE調(diào)試:正常
-
讓用戶掃碼真機(jī)調(diào)試:報(bào)錯(cuò)
原因
可能是昨天更新了證書(shū)薪铜,certbot改了配置文件扳埂,不再支持低版本的TLS
解決
修改/etc/nginx/conf.d/api-https.conf
中的配置,去掉certbot的默認(rèn)配置項(xiàng)壁却,增加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
驗(yàn)證
-
用戶驗(yàn)證可以使用