lua nginx ssl证书设置

时间:2015-10-07 11:27:49

标签: ssl nginx https lua

我使用resty.http module。但是使用了数据。对于通常的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:无法获得本地发行人   证书),

我发现使用Google lua_ssl_trusted_certificate可以提供帮助。但我不知道它是如何起作用的。我测试了这样的命令:lua_ssl_trusted_certificate /etc/ssl/certs/GlobalSign_Root_CA.pem;但它对我没有帮助。

如何以正确的方式验证https?

1 个答案:

答案 0 :(得分:0)

在您的nginx.conf中,您需要配置

lua_ssl_verify_depth 2;
lua_ssl_trusted_certificate /pathto-ca-certs.pem;

在我的情况下,我的服务器只调用一个外部HTTPS端点。所以我导出了带有完整链的证书(通过Firefox中的borwser ceritificate导出)并导入到PEM文件中。这是我上面提供的.pem文件。

我使用lua-resty-http来调用https,它运行正常。您可以使用wireshark / fiddler等工具来监控传出连接,以查看是否按照您的方式进行请求。