证书(certificates)与 PKI(public key infrastructure,公钥基础设施)很难。我认识的很多非常聪明的人也会绕过这一主题。 我个人也很长时间没去碰这些内容,但说起来很讽刺,我没去碰的原因是不懂,所以不好意思问 —— 然后更不懂,自然更不好意思问——如此形成恶性循环,最终我还是硬着头皮学习了这些东西,因为我觉得PKI 能使一个人在加解密层面(乃至更大的安全层面)去思考如何定义一个系统。
所谓技术
How I investigated memory leaks in Go using pprof on a large codebase
TLS handshake Fatal Alert Close Notify的错误排查
有时候,需要了解在应用程序内部正在发生的情况。例如,应用程序可能会运行失败,而又没有显示有帮助的错误消息,或者系统服务没有按照预期的方式运行。在这些情况下,您可能不掌握应用程序源代码,因此无法通过传统的调试过程寻找问题的原因。跟踪提供了一种替代方法。
你不在意的HTTPS证书吊销机制
《长安十二时辰》里的望楼系统由“传递系统+加密系统”组成,靖安司作为一个军事级别的机构,信息传递绝对是多重加密的。通传陆三是暗桩,导致信息传递系统泄密,这些问题如果发声在HTTPS通讯中,丢了密钥,会怎样?是不是也没法防范这个私钥被利用了?
保障IDC安全:分布式HIDS集群架构设计
近年来,互联网上安全事件频发,企业信息安全越来越受到重视,而IDC服务器安全又是纵深防御体系中的重要一环。保障IDC安全,常用的是基于主机型入侵检测系统Host-based Intrusion Detection System,即HIDS。在HIDS面对几十万台甚至上百万台规模的IDC环境时,系统架构该如何设计呢?复杂的服务器环境,网络环境,巨大的数据量给我们带来了哪些技术挑战呢?
openresty的unescape_uri函数处理百分号后面字符的小特性
nginx lua modules(或者openresty)的unescape_uri函数在处理 uri 时,当 uri 中连续包含两个百分号改如何处理?最后一个字符是百分号呢? 百分号后面不是合法的 hex 字符呢?又会如何处理?RFC 的规范是如何约定的?其他编程语言里是如何实现的呢?我带大家一探究竟…
etcd clientv3的lease keepalive租约频繁续期bug 排查小记
在使用 coreos etcd的 lease 租约特性过程中,遇到一次集群负载极高的现象,表现是leader 节点大量的TIME-WAIT状态TCP 连接,系统内存逐渐上升,CPU 居高不下的问题,本文记录了我排查这个 bug 的经历,最终定位到是 etcd client v3包里的lease keepalive函数的一处 bug,这个 bug 存在与clientv3的所有版本上,如果你也用了相同的版本跟用法,可以关注一下…
golang语言编译的二进制可执行文件为什么比 C 语言大
golang编译出来的hello world为什么比 C 编译出来的要大,而且要大那么多。golang 编译出来的二进制程序,如何做体积精简,有没有必要精简。go 编译出来的程序可以直接部署在其他服务器上吗?依赖libc.so吗?
golang游戏项目中使用 tls、https 与etcd v3服务通讯
在全球同服的游戏架构中,网络结构一般设计成集群的形式,用户随便在哪个服务器节点上都可以玩,也就要求每个节点的环境都是一致的,节点之间是可以自由下线上线的,用户是可以在每个节点自由注册的…等等,各种需求的出现,会需要一款能主动发现节点上线线,能统计全局所有服务器负载、状态,能实时下发配置等信息到所有节点的这么一款软件,那么就用到ETCD了。这里给大家介绍 ETCD 在游戏服务器集群中的使用场景,以及环境配置。
Clash Royale皇室战争的黑盒技术分析
今年开春,Clash Royale《皇室战争》在国内上架,又是SuperCell公司的大作,想必会非常火。在去年年底我层玩过封测版本,掉线比较严重,但仍没影响到我对它的好奇,我很想知道它的网络同步是如何实现的,战斗那块是帧同步吗?全是客户端计算的吗?这些疑问一直困扰着我,这次在国内上线了,网络状况也好,调试起来会更会舒心,更方便。