使用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