nginx lua 中賦值變量返回


nginx下:

 location /proxy{
                default_type 'text/plain';
                lua_code_cache off;

                set $appid '';//從lua里重寫

                set_by_lua_file $url '/home/cq/share/xyx/nginx_example/nginx_server/lua/proxy.lua';

                #echo "url = $url";//從lua里賦值得到的url
                proxy_pass $url;
 }


lua下:

local a = ngx.var.arg_a;
local b = ngx.var.arg_b;
local c = ngx.var.arg_c;

ngx.header.content_type="text/plain";
ngx.var.appid = a;//寫入到外部參數里

local uri = "https://api.weixin.qq.com/sns/jscode2session?appid="..a.."&secret="..b.."&js_code="..c.."&grant_type=authorization_code";

return uri;

 


反過來,在lua中獲取nginx的變量

http {
    include       mime.types;
    default_type  application/octet-stream;
    #設定寫入日志的內容,這里我為了看是否可以獲取到headers中的Access-Token,這里只給日志中寫入這一個值。
    log_format  main "$http_access_token";
    #設定日志的保存路徑和日志模板,這里看不懂的話,看一看nginx日志的知識。
    access_log  logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen      80;
        server_name localhost;
        location / {
            root    html;
            index   index.html index.htm;
        }

        error_page  500 502 503 504  /50x.html;

        location /test {
            #content_by_lua_block表示{}內的代碼,全部是lua代碼
            content_by_lua_block {
                #用ngx.say輸出ngx.var.http_access_token
                ngx.say("前端傳過來的headers中的Access-Token的值是:", ngx.var.http_access_token)
            }
       }
   }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM