openresty resty_lua_http模块unable to get local issuer certificate异常处理

  • 目前搬瓦工IP被封非常多,建议使用Vultr,充5刀美5刀,按小时计费,IP随时换---点击注册送5刀
  • 最近刚换工作,新公司作为一资讯公司有为客户提供相关SDK去接入公司系统进行一些信息查询作业。随之请求流量的增加,缺少网关层进行API保护,系统常常会因为流量暴增时间段搞垮。自然而然,作为招入公司重构原有系统职责中的开发计划的第一步自然就是打算先做网关了。之前主要是做Java开发,对Openresty做涉及到相关技术见解都很肤浅(欢迎大家拍砖),对中间学习使用Openresty所遇到一些异常在这里做个小记 。(持续更新中…)

    模块:Resty_Lua_Http

    发起SSL请求异常: 20: unable to get local issuer certificate

    示例:

    local http = require(“resty.http”)

    local httpc = http.new()

    local resp, err = httpc:request_uri(“https://m.taobao.com”, { method = “GET”, path = “/#index”, headers = { [“User-Agent”] = “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36” }, })

    if not resp then ngx.say(“request error:”, err) return end

    原因:nginx没有获得本地颁发者证书

    解决方法:在nginx.conf http -> server 加入已安装OpenSSL根证书地址,见第(6,7行)

    server {
        listen 8000;
        server_name _;
        resolver 8.8.8.8;
        —
        lua_ssl_verify_depth 2;
        lua_ssl_trusted_certificate /etc/ssl/certs/GlobalSign_Root_CA.pem;
        —
        location /api {
            default_type “text/html”;
            lua_code_cache off;
            content_by_lua_file /home/hf/IdeaProjects/apigateway/lua/http.lua;
        }
    }
    

    未经允许不得转载:国外便宜VPS » openresty resty_lua_http模块unable to get local issuer certificate异常处理

    赞 (1) 打赏

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    微信扫一扫打赏