未解之谜--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版本可能存在兼容性问题导致

目录
相关文章
|
7月前
|
JSON 前端开发 数据格式
【前后端异常】http/https post请求 返回415错误状态码的解决方法
【前后端异常】http/https post请求 返回415错误状态码的解决方法
1026 0
|
21天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
14 0
|
2月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
195 1
|
3月前
|
安全 前端开发 算法
|
4月前
|
安全 算法 网络安全
CDN:配置HTTPS证书
CDN:配置HTTPS证书
60 1