On 06/08/13 04:02, Dennis Jacobfeuerborn wrote:

Since I determine the reason for the denied access in lua a way to do it there would also help. I already tried "nginx.status = 403" followed by a "nginx.exec('/reason1')" but while the right page is display the status code returned gets reset to 200.


Hi
You can do it in lua.. you need to do it in the header filter stage
I'm doing something similar but probably not exactly the same
Hopefully example helps (untested):

        set $status_code "";
        location /
        {
            access_by_lua '
                -- your lua script here etc...
                -- if (an error happened) then
                    ngx.var.status_code = "403"
                    ngx.exec("/error/403.html")
                -- end
                ';
        }

        location /error
        {
            root html/error;
            header_filter_by_lua '
                if ngx.var.status_code ~= "" then
                    ngx.status = ngx.var.status_code
                end
            ';
        }


_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to