未解之谜--HTTPS协议POST数据到CDN节点异常的排查

简介: 特定机器POST数据到CDN节点无数据返回

背景信息:

   1,特定ECS实例往CDN节点上post 数据走https协议失败,返回curl: (52) Empty reply from server
   2,透过cdn直接post源站正常(源站仅支持http协议)
   3,其他ECS post cdn节点正常
   4,切换cdn节点进行post也不行
  示意图:(画的比较渣,大家海涵)

image

排查过程:

1,CDN回源走的80端口,进行抓包排查(过滤特殊的测试url)
过滤条件 “ http contains "testYjyCallback"”

image

根据抓包确认,问题出现在客户端到cdn这两点之间,因为实际的请求没有回源(看到的成功的请求是正常的机器,只有一个客户端post失败)

2,客户端抓包,对比正常的https请求的包和异常的包
异常
image

正常
image

注意:正常的包发送的tlsv1.2版本,异常的包发送的是tlsv1的版本

3,客户端手动指定curl证书版本 curl -1 ,访问成功

curl --data "param1=value1&param2=value2" https://gun***6.m****bx.com/Mobile/Test/testYjyCallback --tlsv1.2

注意:--tlsv1.2等同于-1,还可以发送--tlsv1.0 --tlsv1.1

image

4,抓包可以看到指定的-1实际请求https协商是tlsv1.2
image

5,客户端测试指定tls版本 --tlsv1.0 测试不通过,其他机器使用tlsv1.0到cdn同一个节点正常。

未解之谜:判断客户端的curl版本或者openssl版本可能存在兼容性问题导致

目录
相关文章
|
1月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
136 0
|
3月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)(上)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
29 0
|
3天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
5 0
|
1月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
167 1
|
1月前
|
安全 搜索推荐 数据安全/隐私保护
深入探讨HTTPS协议的原理和工作流程
【2月更文挑战第10天】
34 4
深入探讨HTTPS协议的原理和工作流程
|
2月前
|
安全 算法 Java
【JavaEE初阶】 详解HTTPS协议加密过程
【JavaEE初阶】 详解HTTPS协议加密过程
|
2月前
|
Kubernetes 容器
使用kubeadm部署k8s报错:The kubelet is not running或者level=error msg="Handler for POST /v1.43/images/create returned error: Head \"https://us-west2-dock
使用kubeadm部署k8s报错:The kubelet is not running或者level=error msg="Handler for POST /v1.43/images/create returned error: Head \"https://us-west2-dock
|
2月前
|
安全 前端开发 算法
|
3月前
|
安全 算法 网络安全
CDN:配置HTTPS证书
CDN:配置HTTPS证书
48 1
|
3月前
|
安全 算法 网络安全
浏览器 HTTPS 协议的相关知识点有哪些?
浏览器 HTTPS 协议的相关知识点有哪些?
20 0