我用resty.http模块。但是数据被使用了。对于通常的http或https,无需验证,所有工作。
local http = require("resty.http").new()
local res, err = http:request_uri(url, {
method = method,
headers = headers,
body = body,
ssl_verify = false
})但是,如果我不使用ssl_verify,它将无法处理错误:
lua ssl证书验证错误:(20:无法获得本地颁发者证书),
我发现使用谷歌lua_ssl_trusted_certificate可以帮上忙。但我不知道这有什么用。我已经测试过这样的命令:lua_ssl_trusted_certificate /etc/ssl/certs/GlobalSign_Root_CA.pem;,但它对我没有帮助。
如何正确地验证https?
发布于 2016-09-21 22:57:26
在您的nginx.conf中,需要配置
lua_ssl_verify_depth 2;
lua_ssl_trusted_certificate /pathto-ca-certs.pem;在我的例子中,我的服务器只调用一个外部HTTPS端点。因此,我用完整的链导出证书(通过Firefox中的borwser ceritificate导出)并导入到PEM文件中。这是我上面提供的.pem文件。
我使用Lua-R校-http对https进行调用,它工作得很好。您可以使用诸如wireshark/fiddler之类的工具来监视传出连接,以查看请求是否以您想要的方式生成。
https://stackoverflow.com/questions/32991000
复制相似问题