在nginx中实现回源日志的功能
本文分享自天翼云开发者社区《在nginx中实现回源日志的功能》.作者:尹****聪
nginx中已经提供了访问日志的功能,主要对客户端的访问状态等进行记录,比如响应给客户端的状态码,请求uri,请求协议等。而对于回源(或者回后端)的请求状态记录较少,如后端的地址、端口、状态码等这些有记录。在反向代理场景中很大可能会在回源(或者回后端)时修改请求uri、请求host等信息,基于这一需求可以通过回源日志的方式对其进行记录。
回源日志可以采用单独的功能模块来实现,需要挂载到log阶段。主要记录的是回源(或者回后端)的状态,包括请求uri、请求头、请求协议、后端地址、后端响应状态码、后端的响应头、连接复用状态等。由于回源(或者回后端)时,由于源站的连接或者响应错误,会导致nginx进行重试,那么更好的展示方式是每次重试打印一条回源日志,而不是跟访问日志一样,把多次重试的状态记录到一个字段当中,不方便查看或者自动化的分析。
nginx的lua扩展功能可以提供高效的功能开发,所以针对这一特性,可以提供日志变量来保存相应的状态,比如 $origin_addr、$origin_status 。以及通过回源日志的格式来实现不同客户的定制化日志需求。
在nginx中实现回源日志的功能的更多相关文章
- nginx中有关命令和日志切割,配置文件加载的详细阐述
一.Nginx简介 Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器.Nginx 已经在俄罗斯最大的门户网站── Ram ...
- 解读JVM级别本地缓存Caffeine青出于蓝的要诀2 —— 弄清楚Caffeine的同步、异步回源方式
大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 上一篇文章中,我们继Guava Cac ...
- EasyUI在window中使用kindeditor 4.1.10在IE9中不能回显、获得焦点编辑的问题
描述 :kindeditor4.1.10版本是当前最新的版本,在浏览器兼容性和功能方面都是值得一赞的,在开发中能方便快捷的满足一些开发需求. 问题 : 问题总是有的. 在使用过程中,遇到EasyU ...
- MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结
MySQL中有六种日志文件,分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log).一 ...
- 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法
最近在本地搭建的LNMP的开发环境.为了开发的时候不影响前端的正常开发就屏蔽的PHP里面php.ini中的一些错误提示.但是这样一来,就影响到了后端开发的一些问题比如不能及时调试开发中的一些问题 ng ...
- nginx回源使用localhost产生问题
最近测试ngx_http_slice模块,回源的时候填的localhost结果老是超时,还以为是slice模块有问题,后来无意间改成127.0.0.1后就没有问题了 真是见鬼了 #user root; ...
- Log4net入门(回滚日志文件篇)
在上一篇Log4net(日志文件篇)中,我们使用"log4net.Appender.FileAppender"将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会 ...
- Windows 环境下基于 nginx 的本地 PyPI 源
Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包
- 别让CDN的回源把你的服务器拖垮,采用正确的回源策略
我们有一台服务器提供的服务主要是以动态页面为主,静态页面都是固定的内容平时更新的很少,最近这台服务器的应用升级到了新版本访问量增大了不少,随之的问题就来了,最近每天一到9点负载就超过警戒值,然后负载持 ...
- Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解
文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...
随机推荐
- Car Kit重构车机开发体验,让车载应用开发驶入快车道
在智能座舱成为汽车行业"新四化"核心战场的今天,开发者们正面临这样的挑战:如何让手机应用快速适配车机场景?如何实现手机与车机无感流转?如何在保障驾驶安全的前提下提供沉浸式交互体验? ...
- win10启动文件夹在哪里 --九五小庞
当我们在win10系统启动文件夹中添加或删除快捷方式,就可以快速更改电脑的启动项目.但是有不少用户们不清楚win10启动文件夹在哪里.今天小编就来给大家说明一下win10系统的开机启动文件夹路径和打开 ...
- win11专业版提示无法安装程序包的问题
很多雨林木风系统的小伙伴都已经安装windows11专业版系统后,但是,有一位用户在安装软件程序包时遇到一些问题,就是win11专业版中提示无法安装程序包的问题,这该怎么办?接下来,ylmf系统小编这 ...
- 如何在 FastAPI 中玩转 GraphQL 和 WebSocket 的实时数据推送魔法?
扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 发现1000+提升效率与开发的AI工具和实用程序:https://tools.cmdragon.cn/ 以下是符合要求的专业技术博客内容: ...
- [ABC #274 F]Fishing
\(1\) 题目翻译 有 \(n\) 条鱼在数轴上移动. 第 \(i\) 条鱼在时刻 \(0\) 时在位置 \(x_i\) 处,价值为 \(w_i\),将会以每时刻 \(t_i\) 的速度向数轴正方向 ...
- Go 源码编译流程
Go 源码编译流程 Go 编译源代码需要经过编译,链接过程.通过以下示例看 Go (Go 版本为 v1.24.1)语言是如何编译源码的. 首先,代码目录结构如下: ➜ demo1 git:(main) ...
- 云原生环境中的镜像兼容性(NFD项目)
在电信.高性能或 AI 计算等必须高度可靠且满足严格性能标准的行业中,容器化应用通常需要特定的操作系统配置或硬件支持. 通常的做法是要求使用特定版本的内核.其配置.设备驱动程序或系统组件. 尽管存在开 ...
- vue + element 中el-table 设置表头固定,固定高度出现空白
.DialogAirLineList-table { .el-table .success-row { color: #F2FF00 !important; } .el-table .warning- ...
- nginx配置apache虚拟主机负载均衡报错400
nginx配置apache虚拟主机负载均衡报错400 nginx配置文件 http { include mime.types; default_type application/octet-strea ...
- Java变量与常量全解析(包含常量类、interface 与 final 的比较)
Java中的变量 变量是Java程序中最基本的存储单元,用于存储数据值.变量在程序运行期间其值可以改变.变量必须先声明后使用. 变量声明语法: 数据类型 变量名 [= 初始值]; 变量分类: 局部 ...