记一次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

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