记一次Nginx产生RST的研究 (续)

在前一篇博客记一次Nginx产生RST的研究中我们主要分析了在内核层面产生RST的原因,本篇博客将从应用层分析一下原因,以及看一下如何避免这个问题。要关闭TCP链接,首先需要关闭TLS会话,因此我们先了解一下SSL关闭会话的一些特点。SSL Close Notify当一方发起ssl close notify的时候代表其已经不需要再发送数据了。意味着收到close notify的一方可以关闭接收了。从TLS1.0 到TLS1.2 的RFC都要求收到close notify的一方需要立刻回复clo »

man man 分类:SSL,TCP/IP 标签:none

记一次Nginx产生RST的研究

背景在Linux EC2上部署了Nginx服务,前面加了一个AWS NLB,使用Route 53 Health Checker来对NLB进行健康检查,其原理是模拟发送HTTPS GET请求。NLB提供了客户端和服务端产生的RST指标,指标显示Linux产生了很多RST。初步分析虽然产生了RST,但不代表真的有影响。先从客户端,也就是Route53 Health Checker入手,发现所有的检查结果都是成功的,即可以获取到200状态码,那么看来虽然服务端产生了RST,但对客户端的访问没有影响。 »

man man 分类:SSL,TCP/IP 标签:none

K8S集群使用cronjob自动更新AWS ECR Token

AWS ECR提供私有镜像仓库,访问之前需要通过AWS ECR的认证,然后才能操作。原始的docker认证方式是这样的:aws ecr get-login-password --region cn-northwest-1 | docker login --username AWS --password-stdin 123456.dkr.ecr.cn-northwest-1.amazonaws.com.cn之后就可以使用docker操作pull或者push了。对于K8S来说,我们并不直接操作do »

man man 分类:K8S 标签:none

eBPF:使用bcc调试BGP MD5(TCP MD5 Signature Option)过程

我为什么要做这个事情在路由器上配置BGP之后,BGP进程会打印一些BGP日志,例如邻居UP,邻居Down*Nov 24 09:18:40.993: %BGP-5-NBR_RESET: Neighbor 10.0.0.50 active reset (Peer closed the session)这些其实还是BGP进程在做的事情。但如果配置了BGP MD5认证,遇到的报错就是这样*Nov 24 09:14:05.326: %TCP-6-BADAUTH: No MD5 digest from 1 »

man man 分类:TCP/IP 标签:none

AWS EC2安装Kubernetes (K8S)集群

环境说明:10.0.0.27 node1 Amazon Linux 2 kernel 5.1010.0.0.180 master Amazon Linux 2 kernel 5.1010.0.0.106 node2 Amazon Linux 2 kernel 5.10设置hostnamehostnamectl set-hostname master #只在master上执行hostnamectl set-hostname node1 #只在node1上执行hos »

man man 分类:默认分类 标签:none