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

news2024/9/28 9:20:47

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;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/129344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt中使用QWebEngine加载百度离线地图,在特定地点加载个圣诞树

一、前言 2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 遇上圣诞节,正好最近研究了QT中加载百度离线地图,用百度地图API加载个圣诞树(主要我想要那个圣诞节特制勋章)。 二、创意名 在百度离线地图加载个圣诞树。…

演化博弈、复制动态方程与仿真

本文只整理和总结一下我的理解,文末列出了可供参考的更详细完整的资料。建议先看参考资料[1](博弈论公开课)的博弈论课程,可以直接从第11讲开始看。   参考链接[2]是关于演化博弈非常经典的一本书。   参考链接[5]涵盖内容比较…

CSDN文章质量检测系统

想知道你的文章在CSDN中质量如何吗? 你想知道你的CSDN文章到底写得怎么样吗? 你想要获得一个你的系统的CSDN文章评分吗? CSDN质量分数帮你解决这个问题,网址如下: https://www.csdn.net/qc 界面在如下,如果…

XGBoost模型的python实现

文章目录函数介绍实例二分类问题多分类问题作者:李雪茸函数介绍 实现 XGBoost 分类算法使用的是 xgboost 库的 XGBClassifier,具体参数如下: 1、max_depth:给定树的深度,默认为3 2、learning_rate:每一步…

SpringBoot整合TKMyBatis实现增删改查

文章目录什么是TKMybatis?SpringBoot整合TKMybatis实体类注解TKMapper接口如何使用基本增删改操作批量查询和删除批量添加自定义查询条件ExampleExample 条件设置Example 使用什么是TKMybatis? TKMybatis 是基于Mybatis 框架开发的一个工具,…

[4]MQTT协议基础--下

1.QoS服务质量等级 MQTT服务质量(Quality of Service 缩写 QoS)正是用于告知物联网系统,哪些信息是重要信息需要准确无误的传输,而哪些信息不那么重要,即使丢失也没有问题。 MQTT协议有三种服务质量级别: QoS 0 – 最多发一次…

公司jmeter分享

一、数据库压测组件功能说明 1.JDBC Connection Configuration:jdbc连接配置(一个测试计划可以有多个 JDBC Connection) 2.Variable Name for created pool: 创建池的变量名 连接绑定的变量名,JMeter可以使用多个连接,每个连接绑定到不同的变量;通过引用不同的绑定变量…

安全防范语音通知实现方案

语音通知作为一种强提醒的信息通知方式,非常适合使用在安全防范语音通知场景中,可以有效避免用户错过重要信息。那安全防范语音通知怎么实现?这里互亿无线小编为大家做个详细介绍: 一、如何发送安全防范语音通知信息 互亿无线语…

本地事务、分布式事务、CAP 定理与 BASE 理论、分布式事务几种方案、Linux 安装 Seata、Seata的使用-56

一:本地事务 1.1 事务的基本性质 1.数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是 ACID; 原子性:一系列的操作整体不可拆分&#xf…

LVGL学习笔记8 - 字体

目录 1. 修改默认字体 2. 修改字体 3. 特殊字体 3.1 SUBPX字体 3.2 28像素压缩字体 3.3 16像素希伯来语/阿拉伯语/Perisan字母 3.4 16像素中文字体 3.5 8像素Ascii字体 3.6 16像素Ascii字体 3.7 内置图标 4. 超大字体 5. 编码方式 6. 添加字体 6.1 在线字体转换器 …

【微服务笔记01】微服务组件之Eureka注册中心的介绍及其基础环境的搭建

这篇文章,主要介绍微服务中的注册中心Eureka及其基础环境的搭建【源代码地址】。 目录 一、Eureka注册中心 1.1、什么是注册中心 1.2、注册中心原理 二、搭建Eureka注册中心环境 2.1、创建父工程,引入微服务依赖 2.2、创建Eureka服务端工程 &…

全球公开的DEM数据产品

1 简介 全球公开版地形数据包括:GTOPO30-DEM、ASTER-GDEM、SRTM90、ALOS-AW3D30等,其他的诸如World DEM及ALOS-AW3D (5m分辨率)等全球地形数据不能免费获得。 SRTM:由NASA 及国家地理空间情报局NGA采用2000年2月发射的“奋进号”…

word文件损坏打不开如何修复?文件丢失怎么办?

我们日常办公中,经常用到Word文档。但是有时会遇到word文件损坏、无法打开的情况。这时该怎么办?接着往下看,小编在这里就给大家带来Word文件修复的方法,以及Word文件丢失如何恢复的方法! 一、Word文件损坏怎么办 部分…

【vsan数据恢复】磁盘离线导致分布式存储瘫痪的数据恢复案例

vsan数据恢复环境: 一组4台服务器搭建vsan集群; 每台服务器配置有2组分别由6块硬盘组成的磁盘阵列,上层是虚拟机文件。 vsan故障: 在运行过程中,某一个节点的一块硬盘离线,vsan安全机制启动,开始…

梦想云图Node.JS服务 ( 最近更新时间:2022-12-30 10:04:50 )

说明 后台提供梦想Node.JS服务,方便调用控件后台功能,Windows服务程序所在目录:Bin\MxDrawServer\Windows,Linux服务程序所在目录:Bin\Linux\MxDrawServer 梦想云图Node.JS服务 ( 最近更新时间:2022-12-30 10:04:50 …

第三个脚本——时间加速and视频倍速

目录 本文主要内容 granr属性介绍 run-at属性 时间加速原理 视频倍速原理 完整示例 本文主要内容 介绍grant属性,run-at属性以及时间加速,视频倍速原理 granr属性介绍 相关函数四个: GM_setValue GM_getValue GM_listValues GM_del…

json基本使用与简介

一、简介 二、json两种构造结构 三、js解析JSON 1、JSON2解析JSON 2.用eval()方法把JSON字符串转化成JSON对象. 3.使用JSON2中的JSON对象的parser()方法解析JSON字符串 4. 使用JSON2中的JSON对象的stringify ()方法把JSON对象转换成字符串 5、案例 四、Java解…

【模型部署】人脸检测模型DBFace C++ ONNXRuntime推理部署(1)

系列文章目录 【模型部署】人脸检测模型DBFace C ONNXRuntime推理部署(0) 【模型部署】人脸检测模型DBFace C ONNXRuntime推理部署(1) 【模型部署】人脸检测模型DBFace C ONNXRuntime推理部署(2) 文章目录…

深度学习训练营之灵笼人物识别

深度学习训练营之灵笼人物识别原文链接环境介绍前置工作设置GPU导入数据数据查看数据预处理加载数据可视化数据检查数据配置数据集prefetch()功能详细介绍:归一化查看归一化后的数据构建VGG-19网络VGG优点VGG缺点利用官方给到的网络网络结构编译模型训练结果可视化预…

第03讲:GitHub的使用

一、创建远程仓库 访问GitHub官方网站,并创建账号,然后按照以下图示创建项目 复制仓库地址 二、远程仓库的操作 命令作用git remote -v查看当前所有远程地址别名git remote add 别名 远程地址起别名git push 别名 分支推送本地分支上的内容到远程仓库…