然后返回这个错误:( PHP )
cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to api.mch.weixin.qq.com:443
然后尝试使用 Curl 命令行直接 POST 订单信息测试的时候,也是长时间无响应,最后也是返回以上代码。
升级了 openssl 、升级了 nss 、升级了 curl 都不行
根据: https://blog.csdn.net/lilongsy/article/details/84940800 进行配置过也没有用
另外使用 curl post 其他 https 的网站是没有问题的,包括企业微信的一些接口。
测试用例,可以在服务器上测试一下
curl --location --request POST 'https://api.mch.weixin.qq.com/v3/pay/transactions/h5' --header 'Content-Type: application/json; charset=utf-8' --header 'Content-Length: 398' --header 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183' --header 'Authorization: WECHATPAY2-SHA256-RSA2048 mchid="0000000000",serial_no="0000000000000000000000000000000000000000",timestamp="1690554600",nonce_str="0000000000000000000000000000000",signature="0000000000"' --data-raw '{"mchid":"0000000000","out_trade_no":"20230728223129","appid":"000000000000000000","description":"000000000000000000000000","notify_url":"https:\/\/0000000.0000000.00\/weixin\/pay\/main\/0000000000.000","amount":{"total":1,"currency":"CNY"},"scene_info":{"payer_client_ip":"11.11.111.111","h5_info":{"type":"Wap"}},"attach":"00000000000000000000,00000,000000000000000000000000,6487d1781f0000000000"}'
已经隐去敏感信息(以同样数量 0 代替),正常应该秒返回一个参数不对的 json 回来("message":"解析 Json 出错 (位置: /body):),但是实际服务器会卡很久然后返回:
cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to api.mch.weixin.qq.com:443
然后发现客户的系统是 alibaba linux release 3.. 无语了