【问题标题】:lua nginx ssl certificate setuplua nginx ssl证书设置
【发布时间】:2016-01-04 14:41:48
【问题描述】:

我使用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?

【问题讨论】:

  • 证书一般为.crt文件
  • @hjpotter92, lua_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;给出同样的错误行为

标签: ssl nginx https lua


【解决方案1】:

在你的 nginx.conf 中你需要配置

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

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

我使用 lua-resty-http 来调用 https,它工作正常。您可以使用诸如 wireshark/fiddler 之类的工具来监控传出连接,以查看请求是否按照您想要的方式发出。

【讨论】:

    猜你喜欢
    • 2021-07-30
    • 2016-09-27
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2016-10-25
    • 1970-01-01
    相关资源
    最近更新 更多