问题记录:前后端交互无返回,后台服务正常

简介: 业务产线反馈商户入住提示服务连接失败,然后要到客户的账号密码,进入系统发现服务确实连接失败,打开network查看请求的响应,发现请求石沉大海,根本没有到达服务器。

项目场景:



笔者所在的项目组是一个电商项目的商户中心,商户中心的主要功能就是提高商户的入住、商户的管理、审核以及店铺的入住管理等。


问题描述:



业务产线反馈商户入住提示服务连接失败,然后要到客户的账号密码,进入系统发现服务确实连接失败,

打开network查看请求的响应,发现请求石沉大海,根本没有到达服务器。


原因分析:



1.前端没有收到服务端的任何响应,此时怀疑是不是服务响应超时,或者是服务出了什么问题,然后开始打开日志系统查看生产日志,发现服务日志刚刚还在打,当前请求的日志并没有体现然后确定是请求没有进入到服务器中。


2.确认了请求没有进入到服务器,然后开始排查服务是否出了问题,查看接口服务和对应的实现服务均正常,然后又通过接口访问生产服务,发现接口调用正常,确认了服务是没有问题的。


3.确定了服务没有问题后,初步怀疑是网关的锅,然后咨询其他产线的人员发现网关服务正常,联系网关人员确定了路由规则并没有变动后,排除网关。


4.排除自身服务和网关后,问题的出处只能怀疑是网络层面的问题了,只有网络层面的问题才会导致正常的服务无法访问了,然后几经周转联系到了生产的运维负责人,与运维确认了是生产于今日调整了网络的访问策略,导致了该问题的出现。


解决方案:



1.临时解决

与运维沟通后初步解决方案是调整网略策略(不知是以白名单的形式还是更改的网络配置,运维没有言明),

然后将服务初步进行了恢复。


2.彻底解决

当晚走了漏洞检修,在nginx服务器上配置了网关的代理,实现了访问的Referer和Origin同源,然后彻底解决了

该问题。


调整网络策略如何导致的前后端交互失败?



这是因为项目有一个遗留的坑,目前生产上商户中心的前端是直接访问的网关地址,并没有通过nginx进行代理这就导致了跨域问题,运维给出的解释是调整的网略策略禁用不同源的访问(Referer与Origin)这两者不同源请求其实是一个不安全的请求,这也就导致了生产的请求失败了因为生产是前端直接访问的网关,在请求中有修改Referer的值,就出现了这个问题。


总结



这个问题其实是偏向于前端和运维的一个工作,与后台服务没有太深的关系,但是作为一个比较典型的问题还是记录一下,防止下次在遇到类似问题。


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Java Linux 开发工具
linux如何编译安装源码包软件
源码包软件是包含源代码的软件包,常见于Linux和BSD系统,如fcitx和Lumaqq。开源软件需满足源代码可见且有宽松许可,如GPL。安装源码包通常涉及解压、编译和安装步骤,使用`tar`命令解包,通过`./configure`, `make`, `make install`进行编译安装。软件源码允许定制和二次开发,但须遵循许可协议。安装前确保安装了必要的开发工具和库。对于perl和python程序,直接使用perl或python命令安装。推荐使用系统软件包管理工具如RPM、yum或apt进行管理,以简化流程。
483 0
|
1月前
|
存储 Linux 网络安全
跨平台文件传输工具FileZilla客户端安装使用教程
跨平台文件传输工具FileZilla客户端安装使用教程
|
XML 存储 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(五)(4)
PyMuPDF 1.24.4 中文文档(五)
366 0
|
11月前
|
存储 缓存 关系型数据库
MySQL进阶突击系列(08)年少不知BufferPool核心原理 | 大哥送来三条大金链子LRU、Flush、Free
本文深入探讨了MySQL中InnoDB存储引擎的buffer pool机制,包括其内存管理、数据页加载与淘汰策略。Buffer pool作为高并发读写的缓存池,默认大小为128MB,通过free链表、flush链表和LRU链表管理数据页的存取与淘汰。其中,改进型LRU链表采用冷热分离设计,确保预读机制不会影响缓存公平性。文章还介绍了缓存数据页的刷盘机制及参数配置,帮助读者理解buffer pool的运行原理,优化MySQL性能。
|
存储 JavaScript
js -cookie的操作
cookie是存储在客户端浏览器中的一段文本信息。
309 0
STM32CubeMX FreeRTOS点亮LED
STM32CubeMX FreeRTOS点亮LED
387 10
|
JSON 前端开发 数据格式
常见的http状态码信息
常见的http状态码信息
392 0
|
存储 Oracle 关系型数据库
Oracle数据库快速入门
Oracle数据库快速入门
339 0
|
人工智能 关系型数据库 MySQL
数据库mysql与人工智能的合作
在数据驱动的时代,MySQL与人工智能的强强联合正成为科技界焦点。MySQL作为广受青睐的开源数据库,面对海量数据挑战时,借力AI实现了效能跃升。AI不仅能辅助优化数据库管理,提升处理速度并降低成本,还能通过自然语言处理让复杂操作变得简单直观。此外,AI在图像及语音识别的进步拓展了MySQL的应用边界,使其能高效管理非结构化数据。这种融合不仅优化了数据库管理,还支持了智能决策制定,促进了各行各业的数字化转型,预示着智能化数据管理的新纪元。
548 0
|
NoSQL 关系型数据库 API
写给工程师的 MacBook 商用级大模型知识库部署方案(中)
写给工程师的 MacBook 商用级大模型知识库部署方案(中)
694 1