local http = require("resty.http")-- 创建 HTTP 客户端local httpc = http.new()-- 发送 HTTP 要求local res, err = httpc:request_uri("https://your-https-server.com/path", { method = "GET", -- 要求方法,可根据实际情形修正 ssl_verify = false, -- 跳过 SSL 证书验证})if not res then ngx.say("Failed to send HTTP request: ", err) returnend-- 获取相应状态码和相应体ngx.status = res.statusngx.say(res.body)
在上面的示例中,首先引入了 resty.http 库,然后创建了一个 HTTP 客户端工具 httpc。接着,利用 request_uri 方法发送 HTTPS 要求,并通过参数 ssl_verify = false 来跳过 SSL 证书验证。
根据实际情形修正代码中的要求地址、要求方法等内容。跳过 SSL 证书验证可能会带来一定的安全风险,确保在安全环境下利用,并对要求的目标做事器有足够的信赖。
在 Nginx + Lua 或openrestry的环境中,可以将这段 Lua 代码放在 Nginx 的 Lua 脚本中,用于处理 HTTP 要求并转发至 HTTPS 做事器。
