探索惊群 ⑥ – nginx – reuseport

SO_REUSEPORT (reuseport) 是网络的一个选项设置,它能开启内核功能:网络链接分配 内核负载均衡。 该功能允许多个进程/线程 bind/listen 相同的 IP/PORT,提升了新链接的分配性能。 nginx 开启 reuseport 功能后,性能有立竿见影的提升,我…

Linux Netfilter/iptables 学习

Linux 网络协议栈非常高效,同时比较复杂。如果我们希望在数据的处理过程中对关心的数据进行一些操作,则该怎么做呢?Linux 提供了一套机制来为用户实现自定义的数据包处理过程。在 Linux 网络协议栈中有一组回调函数挂接点,通过这些挂接点挂接的钩子函数可以在 Linux 网络栈处理数据包的过程中…

Chrome 标记危险红名站点处理方案记录

一、前言 公司有一条 To C 网盘的业务线,就好比百度网盘一样,我们知道百度网盘在 Web 站点上下载文件都会提示安装客户端才能进行下载,然而我司为了提升用户体验,主打 Web 站点免登录下载文件。 然而也正是这样,许多网友在我司网盘上传了大量的 windows 激活工具、注册机、破解版工具,生成…

https和SNI

在同一个nginx上配置多个域名,是稀松平常的事,纵然是使用https,也不过多配置几个证书的事情,似乎没有什么维护上的困难。然而,细思起来,背后却有很多故事,以至很多网站现在也苦恼不已。 1 基于Host的虚拟主机 Http协议中有Host头,nginx等web服务器正是根据Host的内…

UDP 为什么会 write: connection refused

一、前言 在某一次写 udp 服务时,发现一个奇特的现象,udp client 在调用 write 方法写入数据时会报 connection refused 。 对于懂得 socket 编程却不懂网络的人可能认为这根本就不是一个问题。 因为这报错显然就是远端服务对客户端发送的数据进行了拒绝,也许会认…