记录一次现网问题排查(分享查域名是否封禁小程序)

2023-11-30 07:52

本文主要是介绍记录一次现网问题排查(分享查域名是否封禁小程序),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:

收到工单反馈说现网业务一个功能有异常,具体现象是tc.hb.cn域名无法访问,客户地区是河南省,这里记录下排查过程和思路。

在这里插入图片描述

首先梳理链路
客户端域名 tc.hb.cn cname—> domainparking-dnspod.cn(新加坡clb)—> snat—> 广州集群(k8s)

1、确认解析是否正常

在这里插入图片描述

2、确认clb和域名是否被封禁

这里推荐使用净网云剑进行查询
在这里插入图片描述

3、使用拨测平台对域名或者CLB进行拨测

在这里插入图片描述
刚开始怀疑是丢包导致的,但是拉通网络侧同事得到的结论是跨境访问,这点丢包率很正常,而且还是小运营商。

4、新申请clb进行测试

1、新申请了一个新加坡其他可用区的clb,代理host测试有问题
2、新申请了一个广州clb进行测试,代理host测试正常

到这一步就非常怀疑是跨境导致的问题,但是想要实锤,还是得抓包,看后端是否正常返回!

5、进入容器进行抓包

因为这里后端机器,所以需要对所有的机器进行抓包

tcpdump -iany -nnv -w hostip.pcap

在Wireshark中使用http contains "tc.hb.cn"过滤
异常域名
tc.hb.cn
在这里插入图片描述
后端接收到clb数据后,应答了,但是没有回包,这里基本上可以确认是后端有问题了

正常域名
cainiaonas.eu.org
在这里插入图片描述
正常来讲,后端应答后应该回包,所以需要后端看看代码逻辑,为什么没有回包

总结:

这里一来就怀疑是跨境网络问题以及clb违规被封禁问题,导致前面耽搁了许多时间,要是一来就进行抓包对比,其实一下子就能确认是后端问题,解决时间大大减少,这里肯定有小伙伴问为什么服务要跨境访问呢,后来了解到是因为合规要求,没办法!

这篇关于记录一次现网问题排查(分享查域名是否封禁小程序)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/436232

相关文章

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码