回调数据丢了?

问题是这样,我们对接某一个大平台,在平台上配置了我们的回调地址。最近几个月大概1个月一次,发现会有些回调没有收到。有次数据丢失的时间是和他们官网大版本更新发布的时间点吻合的。但是发布内容并没有和这个回调有直接的相关性。

会是平台的问题吗?从自身上还有没有别的突破口呢?

我们作为应用程序,上层用的是nginx代理。有个参数起到了至关重要的作用:proxy_ignore_client_abort

proxy_ignore_client_abort 是 Nginx 的一个指令,用于控制 Nginx 在客户端连接意外关闭时的行为。默认情况下,当客户端在请求过程中突然断开连接,Nginx 会立即终止与后端服务器的连接,这可能会导致后端服务器的资源浪费,尤其是在处理一些需要长时间处理的请求时。

通过设置 proxy_ignore_client_abort on;,Nginx 将忽略客户端的断开行为,继续将请求发送到后端服务器,直到后端服务器处理完成。这样,即使客户端断开连接,后端服务器也能继续完成请求处理。

之前我们使用默认配置,这会造成客户端也就是我们对接的平台意外关闭时,回调请求没有发到我们应用端。对于这种回调类型的请求,更合理的设置方式是设置 proxy_ignore_client_abort on;

而默认方式更适合那种客户端请求要拿到处理结果,如果客户端不拿到处理结果没有意义的,比如:支付、下单、自己作为客户端请求下游,但是并不是适合这种回调请求。

相关推荐
2501_944525544 分钟前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
一体化运维管理平台40 分钟前
DevOps落地利器:美信监控易如何打通开发与运维?
运维
李白你好1 小时前
Burp Suite插件用于自动检测Web应用程序中的未授权访问漏洞
前端
宴之敖者、1 小时前
Linux——\r,\n和缓冲区
linux·运维·服务器
LuDvei1 小时前
LINUX错误提示函数
linux·运维·服务器
未来可期LJ1 小时前
【Linux 系统】进程间的通信方式
linux·服务器
心理之旅1 小时前
高校文献检索系统
运维·服务器·容器
Lenyiin1 小时前
Linux 基础IO
java·linux·服务器
The Chosen One9852 小时前
【Linux】深入理解Linux进程(一):PCB结构、Fork创建与状态切换详解
linux·运维·服务器
刘一说2 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js