Openresty日志输出请求头 log lua

使用Openresty作反向代理,有时候需要通过日志观察所有进来的请求信息,包括请求头、请求体等,可以通过以下方式将日志输出到log文件中。

编辑nginx.conf文件

error_log  logs/error.log  info;
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    
    server {
        listen 8080;
        server_name 127.0.0.1;
        location / {
            default_type text/html;
            content_by_lua_block {
                local headers = ngx.req.raw_header()
                ngx.log(ngx.INFO, " headers: ", headers)
                ngx.say(" OK ")
            }
        }

        #重定向场景
        location /ad {
            content_by_lua_block {
                local headers = ngx.req.raw_header()
                ngx.log(ngx.INFO, " headers: ", headers)
                ngx.exec("@adredirect")
            }
        }

        location @adredirect {
            rewrite ^/(.*) https://ad.zeke.cool/$1 redirect;
        }
    }
}

重启openresty后,请求头会输出到error.log 中,cd到error.log所在目录,使用如下命令查看

tail -f error.log

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。