境内服务器无法获取到api.weixin.qq.com返回的证书。SSL handshake失败。
境外服务器可以正常进行SSL通信并拿到返回的证书。
具体测试命令如下:
openssl s_client -connect api.weixin.qq.com:443 -servername api.weixin.qq.com -tls1_2
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 4320 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1552387922
Timeout : 7200 (sec)
Verify return code: 0 (ok)
你这个和小程序 有什么关系么?背景是?
同步一下背景。
我们需要调通https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
用以获取unionid。
开发人员从境外的测试服务器发送请求,可以正常拿到返回。
从中国的正式环境准备发布的时候,发出请求,会拿到SSL报错,检测SSL链接,会发现handshake的报错
参考:
https://developers.weixin.qq.com/miniprogram/dev/api-backend/code2Session.html?search-key=code2session