在nginx中实现回源日志的功能

天翼云开发者社区
• 阅读 2

本文分享自天翼云开发者社区《在nginx中实现回源日志的功能》.作者:尹****聪

nginx中已经提供了访问日志的功能,主要对客户端的访问状态等进行记录,比如响应给客户端的状态码,请求uri,请求协议等。而对于回源(或者回后端)的请求状态记录较少,如后端的地址、端口、状态码等这些有记录。在反向代理场景中很大可能会在回源(或者回后端)时修改请求uri、请求host等信息,基于这一需求可以通过回源日志的方式对其进行记录。

回源日志可以采用单独的功能模块来实现,需要挂载到log阶段。主要记录的是回源(或者回后端)的状态,包括请求uri、请求头、请求协议、后端地址、后端响应状态码、后端的响应头、连接复用状态等。由于回源(或者回后端)时,由于源站的连接或者响应错误,会导致nginx进行重试,那么更好的展示方式是每次重试打印一条回源日志,而不是跟访问日志一样,把多次重试的状态记录到一个字段当中,不方便查看或者自动化的分析。

nginx的lua扩展功能可以提供高效的功能开发,所以针对这一特性,可以提供日志变量来保存相应的状态,比如 $origin_addr、$origin_status 。以及通过回源日志的格式来实现不同客户的定制化日志需求。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
4年前
SpringBoot自定注解+SpringAop实现操作日志
使用自定义注解SpringAop实现操作日志记录,记录内容包括请求参数、请求方法、请求响应时间等的记录。一、在pom文件中,引入依赖包和插件。<dependency<groupIdorg.springframework.boot</groupId<artifactIdspringbootsta
Wesley13 Wesley13
4年前
API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务
_摘要:_ 近日,阿里云API网关对接了日志服务,可以输出用户在API网关产生的API调用日志,目前支持将API接入API网关的用户查看日志明细、概况、报表分析、在线查询等。访问日志(AcccessLog)是由应用服务生成的日志,每一次API请求都对应一条访问记录,内容包括调用者IP、请求的URL、响应延迟、返回状态码、请求和响应字节数等重要信息
Easter79 Easter79
4年前
SpringBoot自定注解+SpringAop实现操作日志
使用自定义注解SpringAop实现操作日志记录,记录内容包括请求参数、请求方法、请求响应时间等的记录。一、在pom文件中,引入依赖包和插件。<dependency<groupIdorg.springframework.boot</groupId<artifactIdspringbootsta
Nginx的ngx_thread_pool模块解析:提升性能与可伸缩性
本文分享自天翼云开发者社区《》.作者:云海Nginx是一个备受欢迎的开源Web服务器和反向代理服务器,以其出色的性能和可伸缩性而著称。在处理高并发请求时,Nginx的ngxthreadpool模块发挥了关键作用,允许您有效地利用多核CPU,提高并发处理性能
动态加速中优化失败路径反馈的方法
本文分享自天翼云开发者社区《》.作者:尹聪1背景动态探测是周期性进行的,全局默认2分钟,支持分频道设置探测频率(最低1s探测频率),这就决定了选路也是周期性的,在两次最优路径更新的时间间隔内,如果回源链路发生波动,则只能依靠失败后重试来解决,如果域名并发量
Nginx 缓存的工作原理
本文分享自天翼云开发者社区《》.作者:云海Nginx缓存的工作原理Nginx缓存分为多种类型,最常见的是代理缓存(ProxyCache)。1.代理缓存(ProxyCache)代理缓存的核心原理是:当客户端请求到达Nginx时,Nginx会检查缓存中是否存在
在nginx中实现回源日志的功能
本文分享自天翼云开发者社区《》.作者:尹聪nginx中已经提供了访问日志的功能,主要对客户端的访问状态等进行记录,比如响应给客户端的状态码,请求uri,请求协议等。而对于回源(或者回后端)的请求状态记录较少,如后端的地址、端口、状态码等这些有记录。在反向代
在nginx中通过多级代理支持grpc协议
本文分享自天翼云开发者社区《》.作者:尹聪gRPC是由Google开源的一个RPC框架,旨在统一服务间通信的方式。该框架基于HTTP/2协议传输,使用ProtocolBuffers作为接口描述语言,可以自动生成服务间调用的代码。nginx提供了一个grpc
一种CDN动态加速首次访问加速方法
本文分享自天翼云开发者社区《》.作者:蒋辉具体方案如下:1.对于全站加速,节点内部的探测采用的非请求触发式探测(已实现),在首次访问时,使用配置的顶层父方案作为回源节点回源,具体如下:masterparentarea:"area.parent1st.ctc
一种智能调度分布式路径计算解决方案
本文分享自天翼云开发者社区《》.作者:蒋辉背景技术传统的CDN动态加载智能路由系统对用户动态请求,主要通过探测服务器主动发起周期性的探测请求,探测CDN中转节点和源站的可用性及网络性能,根据探测结果选择最优的回源链路;然而,在获取到探测结果后,为了减少探测
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
952
粉丝
16
获赞
40