https和SNI

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

UDP 为什么会 write: connection refused

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

容器环境下 Go Panic 告警日志发送方案

一、前言 以前服务没有运行在容器中时,我们通常使用 supervisor 来守护一个 Go 编写的服务。并且在服务运行时,如果发生 Panic 导致容器退出,此时 supervisor 中配置的 stderr_logfile 会把程序运行时的标准错误设置成一个文件。就像下面这样 之后通过logage…

Prometheus Histogram + Grafana 绘制接口响应热点图

一、前言 第一版的接口响应时长分布统计图表是根据 Prometheus Counter 数据类型制作的折线图,它大概长下面这个样子。 原理其实也非常简单,我就是将请求分组进行统计。大致的代码就是下面这个样子 奈何领导说接口统计最好不要用 counter 计数器,也不要做成折线图。要使用 Promet…