@Lenciel

月光光

成都国庆后连日阴雨,这两天骤然晴好。

云淡天高,让人觉得心旷神怡,赶紧会了几拨亲友,聊了许多生机和危机。

最后一位,是下定了决心要在游戏行业从文宣干到策划的四爸家的姑娘。掰完蟹,聊完天,开车送她去地铁站。一掉头,好一弯月亮,熠熠生辉。

想起小时候看过一个很粗劣的恐怖片,叫《月光光心慌慌》,后来才发现,英文名是《Halloween》——人家鬼先生就是正经过个节,跟月亮没啥关系。

但看来,国内国外,都有不少人是怕鬼的。

我一向不太怕。中国的鬼有仙狐这么好的女鬼品类,能依情境幻化形态,可甜可咸,或见或隐,仿佛一辆自动变换尾号的跑车,单双日子你都能开着上路,我怕什么呢,只怕找不着…

地铁站涌出的人流,大都行色匆匆,没注意开着车的某位大叔在想着开车。

人类总是匆匆,于是有智者。前几天一位智者说,读了《说苑》:「怨生于不报,祸生于多福,安危存于自处,不困在于蚤豫,存亡在于得人」。

「讲得深刻啊」,智者说。

是深刻,但钻研深刻道理的智者,往往看不到天地的真相。

最近蒙爷在听凯叔讲的《西游记》,里面的妖怪,有宠妻狂魔,有孝顺儿女,为了和挚爱分享一碗唐僧肉,往往被悟空满门抄斩,杀个精光。

会让我想起《金瓶梅》。

中文世界里面其他的经典都充满对「价值」的向往:《水浒》的侠义情谊,《西游》的正大光明,《三国》的天下一统,即使是我读不进去的《红楼梦》,也要追求个至情至爱。

《金瓶梅》里的每个人,活得既无理想,也不在乎意义,追求的就是吃吃喝喝、各种体位、发财赚钱、争宠斗艳。它把充满秩序的世界里道貌岸然的意义和价值:伦理、道德、义气、友情、爱情,都全部推翻,让我们看到欲望才是底层的真实。

在作者冷静凝练的白描中,透露出来的是对于找不到出路的人的悲悯。

我想,读懂它的人可能会同意,人类唯一有意义的道德,是悲悯。

这两天聊过的很多故事,更让我觉得,五百年后的今天,《金瓶梅》提出的问题,没被解决,反而更加紧迫却没有答案。

我们偶尔抬头望月,只觉得它阴晴圆缺。

其实月亮,一直是饱满的。反而可怜人类,道路都是闭合的,却有着自为周延的因果。无论豪情万丈,还是躲闪腾挪,这月光下,永远盈缺的,其实是我们的人生,那轮回中最为寻常却也寥落的歌。

开启 OCSP Stapling

之前有人抱怨这个小破站打开慢。

我想我这种 lighthouse 打满分的同学,怎么可能…结果发现,是因为 Let’s Enrypt 用来做 OCSP 验证的域名被众所周知的力量污染了(目前是 ocsp.int-x3.letsencrypt.org 的 CName 域名 a771.dscq.akamai.net 受到了干扰),所以 iOS 客户端的同学都会卡几秒钟做校验。

网上有很多通过打开 OCSP Stapling 来解决问题的帖子。但实际上,如果你的服务器在国内,是拿不到 OCSP Response 的。

当时我乐观地觉得,这种让所有 Let’s Encrypt 证书网站都不要玩儿的污染持续不了多久,先不管它吧。

然后三个月过去了。

所以在国内服务器上,如果你和我一样使用 nginx,只是正常开启 OCSP Stapling 的话:

# OSCP
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/lenciel.com/chain.pem;

重启 nginx 之后你用 openssl 的命令检查 OSCP Stapling 是否开启(可以用 SSL Labs 但是比较慢)会看到下面的输出,表明开启失败:

$ openssl s_client -connect lenciel.com:443 -servername lenciel.com -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response"

OCSP response: no response sent

我看网上很多同学在苦苦追问为啥失败。其实不是你的配置失败,而是你的服务器的户口所在地比较失败,如果去 Nginx 的日志里面检查就会看到大量因为收不到 responder 的报错:

2020/09/28 11:27:39 [error] 22565#0: OCSP responder timed out (110: Connection timed out) while requesting certificate status, responder: ocsp.int-x3.letsencrypt.org, peer: 108.160.167.30:80, certificate: "/etc/letsencrypt/live/lenciel.com-0001/fullchain.pem"
2020/09/28 11:35:29 [error] 22564#0: OCSP responder timed out (110: Connection timed out) while requesting certificate status, responder: ocsp.int-x3.letsencrypt.org, peer: 108.160.167.30:80, certificate: "/etc/letsencrypt/live/lenciel.com-0001/fullchain.pem"

解决起来有各种办法,说白了就是要让你这台服务器正常访问到 ocsp.int-x3.letsencrypt.org。我选择了 doh-proxy

再检查就可以看到访问成功了:

$ openssl s_client -connect lenciel.com:443 -servername lenciel.com -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response"
OCSP response:
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response

需要注意的是,和所有缓存一样,它设置成功之后需要几次访问才会刷新,以及,它会过期…通过一些简单的脚本可以把这部分也自动化了。