openresty ssl问题解决,openrestyssl解决


最近在捣鼓微信小程序,在使用openresty的ssl发起https调用时,报如下错误:

lua ssl certificate verify error: (20: unable to get local issuer certificate),


经排查发现是nginx中配置的证书问题,那么本地究竟应该使用哪个证书呢,我发现/etc/ssl/certs下有一大堆,具体配置哪一个,网上很多文章其实都只合适他们自己,并不一定正确。

当在shell中直接使用curl是可以发起正常的https请求的,于是集中问题为,curl在发https时使用的是哪个证书,经google发现可以使用如下命令:

curl  -v -s -k 'https://api.weixin.qq.com/cgi-bin/token?xxxx' 

得到如下输出:

可以看到握手时使用的cert为 /etc/ssl/certs/ca-certificates.crt. 修改配置 lua_ssl_trusted_certificate '/etc/ssl/certs/ca-certificates.crt';

之后即可正常发起https请求。


相关内容

    暂无相关文章