nginx反向代理如何获取源站的POST/GET值并保存?

实现:
demo1.com反向代理www.jobbole.com保存post/get值并输出到demo1.com/1.txt

图片描述

以下是反向代理部分:

worker_processes  1;
error_log logs/error.log;
events {
    worker_connections 1024;
}
http {
server {
        listen 80;
        server_name demo1.com;
        index index.php index.html index.htm;
        location / {
if ($http_user_agent ~* (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
        return  403;
        }
default_type text/html;
    
         subs_filter_types text/css text/xml;
         subs_filter 'www.jobbole.com' 'demo1.com' g;
         proxy_set_header X-Real-IP  $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Referer http://www.jobbole.com;
         proxy_set_header Host www.jobbole.com;
         proxy_pass http://www.jobbole.com;
         proxy_set_header Accept-Encoding "";
        }
} 
}

请问如何获取POST/GET值,并输出到demo1.com/1.txt ?
目前环境搭配:centos7+openresty
求nginx.conf部分和lua部分。感谢大佬

阅读 2.9k
1 个回答

location / { #下面一行加

access_by_lua_file /path/to/access.lua;

在access.lua获取method 写入 文件

local method = ngx.req.get_method() 
local file = io.open('/path/a.log',"a+")
file:write(method .."\r\n")  --参数字符串自己拼接下
file:flush()
file:close()
    
    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题