nginx部署next项目访问日志去重小技巧,next项目资源不计入日志,网站日志统计去除资源请求

next项目访问日志去重小技巧

需求提出

之前在跟SEO做网站日志分析的时候受到了一部分资源请求数据的影响,统计出来的ip访问次数远远大于实际值,从日志中或者网站控制台看到每个页面都会发送十几个请求,而这些请求都会被统计到网站日志中,在后续的分析哪些ip请求了哪些页面时,往往拿不到真实的值。于是考虑处理next项目的请求,过滤到资源请求只保留html的访问日志。

具体解决方案+配置代码

上述问题的根源在于找到资源请求的共同点,利用正则表达式匹配并单独配置location。
先看一下原本的网站访问配置和日志配置,原有的网站访问配置做了一些限流和缓存的操作,感兴趣可以移步nginx缓存node服务的伪静态页面,日志访问的关键代码在前两行

location /{
        access_log logs/website.log;
        proxy_pass http://localhost:8080;
        
        limit_req zone=marklimit burst=20 nodelay;
        add_header  Cache-Control  max-age=no-cache;
        proxy_cache next-cache;
        proxy_cache_valid 10m;
        proxy_ignore_headers Set-Cookie Cache-Control;
        proxy_hide_header Cache-Control;
        proxy_hide_header Set-Cookie;
        include /usr/local/nginx/conf/rewrite/*.conf;
    }

接下来看网站的请求控制台抓包:
如下图所示,扫了一圈后发现一个共同点:next项目资源请求会带有_next标志,所以在原有的网站访问配置中加入后面的location配置即可
在这里插入图片描述
接下来就是添加location配置,拦截带有_next标志的请求,关闭日志并重新代理到项目端口

location ~*\.*_next\.* {
        access_log off;
        add_header Cache-Control max-age=86400;
        proxy_pass http://localhost:8080;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿韩想静静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值