1. 程式人生 > >nginx 圖片處理、許可權校驗配置

nginx 圖片處理、許可權校驗配置

nginx 圖片處理配置

    server {
        listen       8111;
        server_name  localhost;
        #charset koi8-r;
        access_log  /var/log/nginx/log/host.access.log  main;
        error_log  /var/log/nginx/log/error.log info;
        lua_code_cache off;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }


    location ^~ /video/upload/ {
        root    /staticData;
    }
    location ~* ^/aa/{
            default_type 'text/plain';
            access_by_lua 'ngx.say("aaaa2")


            local res = ngx.location.capture("/proxy/http/1.1.1.1/80/Architank/us/user/checkUserLogin.do", {
                method = ngx.HTTP_POST,
                body = body,
                args = {hello = "world"}
            })


            #local cjson = require "cjson"
            ##local value=cjson.new().decode(res.body)
            #ngx.say("value","=",value)
            for key,val in pairs(res) do
                if type(val) == "table" then
                    ngx.say(key,"=>",table.concat(val,","))
                else
                    ngx.say(key,"=>",val)
                end
            end';
           # root /staticData;
        }
    location ~* ^/auth/deny/{
          #  default_type 'text/plain';
          #access_by_lua '
           # return ngx.exit(ngx.OK)
            #ngx.exit(ngx.HTTP_FORBIDDEN)
          # ';
          #rewrite ^/auth(.*)$ $1 last;
          rewrite_by_lua '
            local passArgs = ngx.req.get_uri_args()
            --ngx.log(ngx.INFO,"passArgs:",passArgs)
            local res = ngx.location.capture("/proxy/http/1.1.1.1/80/Architank/up/upload/checkFileAccessToken.do", {
                method = ngx.HTTP_POST,
                body = body,
                args = passArgs
            })
            local cjson = require "cjson"
            local value = cjson.new().decode(res.body)
            ngx.log(ngx.INFO,"value:", value.success)
            if (value.success) then


                local uri = ngx.re.sub(ngx.var.uri, "^/auth(.*)$", "$1", "o")
                ngx.log(ngx.INFO, "uri:",uri)
                ngx.req.set_uri(uri,true)
            else
                ngx.exit(ngx.HTTP_FORBIDDEN)

            end
           ';
    }
    location ^~ /deny/resume/ {
        internal;
        root    /staticData;
    }
    location ^~ /deny/ {
        root    /staticData;
    }
    location /proxy/ {


        internal;
        rewrite ^/proxy/(http?)/([^/]+)/(\d+)/(.*)     /$4 break;
        #proxy_pass http://1.1.1.1/EmployeeLeasing/us/user/checkUserLogin.do;
        #echo "$1://$2:$3";
        proxy_pass      $1://$2:$3;
    }
    location ^~ /image/upload/ {
        root    /staticData;
    }