而立之年的妥协

生活有时候非常神奇,在特定的时间点会递上特殊的经历。而在自己身上,则是非常戏剧的两年。

去年前的今天,蚂蚁按下了暂停键,当时的自己在楼下看着logo上的霓虹灯,心中毫无波澜,心里想的是今日今岁不唐捐。

今年的今天,我接受了外部的和解,也跟自己做了妥协。我知道我内心并不接受这样的结果。但是,所谓妥协,跟接受和认同无关,只是学会了和解自己,也不再为难他人。

我不知道这两年生活在这两个同一时间点上的经历是礼物还是考验。几天前,脑子里总会浮现出屈原的一些词句,放弃了回忆当时那几句话在课本里面备注的含义,却很自然的理解了那些诗句的感受和含义。

我不知道什么时候才能消解内心深处的焦虑与愤怒,但是我希望自己在越来越车轻路熟处理眼下事情的时候,能保持对自己的持续感受和鞭策。

从今以后,我出发的地方,已无法归来。

可至今日,已是一种眷顾与幸运。

远去,不归。

nginx使用certbot自动更新https免费证书

个人博客的 HTTPS 证书一直使用的是免费的 Let's Encrypt 。证书获取和自动 renew 方案是参考 Jerry Qu 提供的 acme-tiny. 这个方案脚本短小精悍,是自己喜欢的风格。

但前几天发现网站的证书过期了,尝试手动运行更新脚本,发现已经无法运行。想来这个方案已经用了6年多了,索性这次迁移到使用官方的 certbot 方案。简单记录了一下迁移步骤:

https://certbot.eff.org/lets-encrypt/ubuntubionic-other

1. 安装 snapd

需要说明的是 snapd 在 Ubuntu 16.04 及以后版本都是预装的,可以跳过这个步骤。而我的服务器还停留在 14.04, 需要安装手动安装一遍:

apt-get install snapd

If you’re running Ubuntu 16.04 LTS (Xenial Xerus) or later, including Ubuntu 18.04 LTS (Bionic Beaver), Ubuntu 18.10 (Cosmic Cuttlefish) and Ubuntu 19.10 (Eoan Ermine), you don’t need to do anything. Snap is already installed and ready to go.

2. 安装 Certbot

sudo snap install –classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

3. 申请证书

因为服务器上部署了很多服务,有开源的nginx,也有自己编写的web服务,因此我仅使用 certbot 来获取和更新证书即可。证书的使用通过 post hooks 来集成。而我又不想停止我线上的服务,因此,这里使用 certonly 模式来获取证书

sudo certbot certonly –webroot -w /var/www/challenges -d www.liudanking.com -d liudanking.com

需要注意一点,需要映射一下 http 服务 /.well-known/acme-challenge path 与本地 directory 的关系。以nginx为例,可以这样配置:

To use the webroot plugin, your server must be configured to serve files from hidden directories. If /.well-known is treated specially by your webserver configuration, you might need to modify the configuration to ensure that files inside /.well-known/acme-challenge are served by the webserver.

一般,获取的证书会保存到 /etc/letsencrypt/live/DOMAIN_NAME 文件夹下,同时certbot后台也会运行一个定时调度任务,自动更新证书,防止证书过期。

4. 配置后处理钩子脚本

/etc/letsencrypt/renewal-hooks/post 添加后处理脚本renew_post.sh。这里我只需要见到的reload nginx即可:

nginx -s reload

这样,每次更新完证书,最新的证书就可以在nginx中应用生效了。

小结

certbot 整体流程还是比较简单的。但是绑定 snap 的方式不是自己喜欢的风格。考虑到这是 Let's Encrypt 官方推荐的方式,希望能够长期稳定吧。

之前在 Jerry Qu 的网站学习和参考了挺多 HTTPS 的知识和实践经验,挺感谢站长以及他的网站。今天回头看的时候,发现他已经有挺长时间没更新了,心有所触。不知道个人blog时代是不是已经远去不可及,也不知道自己还能坚持,权当是闲暇时候的反观世界时的喃喃自语吧。

疫情下的入秋

别纠结题目,暂时没想好。

8月发生了很多事,成都这捉摸不定的天气突然退夏入秋了,东京奥运顺利闭幕了,女儿也顺利结束了3年的幼儿园学习生涯,今早送进小学校门了,项目上一如既往的忙碌。惟独没有什么事情是属于自己的。

我对2016年的奥运会几乎是选择性的忽略,倒是没有什么特殊的原因,只是觉得缺乏了看点。但今年关注奥运,仅仅是因为中国的那位百米飞人。

作为一个业余的体育爱好者,经常用肌肉骨骼理论跟身边人分析为什么黑人在田径项目上行,在游泳项目上不行。当然,末了,还会附带一个自嘲式的为什么黄种人田径上不行。

这是一种很典型的键盘侠。直到被苏炳添半决赛的成绩震撼到。准确的讲,是从成绩这个点,被这个人震撼到。2008年,北上求学的第二年,刘翔红得发紫,苏炳添刚刚出道。刘翔在十亿双眼睛下在几秒钟内跌入了谷底,苏炳添不动声色的拿下两块国赛的金牌。此后的十几年,前者在伤病困扰下,煎熬反复,最终宣布退役,淡出大众视野,却被迫批附着大众偏执的情绪;后者则在比赛、学术、教育、行业上全面开花结果,虽然这种结果对对部分人来说都是马后炮式的附庸捧喝。无意要比较两位目前为止我们拥有的最优秀短跑田径运动员高下。因为,作为一个跑者,某种程度上看,前者是不幸的;而苏能一直跑到今天,即使抛开成绩和影响,这也是一种幸运。

苏刘二人都是80后,但是,以85为界,显然两者又有各自的时代烙印。我们常说长期主义和意义追寻,当如是。

三年前,走路上不稳妥的女儿送进了幼儿园校门,今天女儿满脸好奇和期待的走进了小学校门。突然有种喜悦弱失,但没有担忧。女儿幼儿园的成长很棒,我期待的博雅基础教育都很好的在她身上看到了种子。我和妻性格上的缺陷也没有继承到她身上。无论怎样,老父亲看女儿长大,总逃不开一边喜悦,一边不愿的矛盾感。

在无声中,自己也迎来了三年。相比女儿,老父亲毫无悬念是不及格的。这两年,我发现对自己真实是相对容易的,但是对自己足够耐心坚持是显著缺位的。在鼓励女儿的时候,我说得最多的就是问她是否勇敢。一来我认为这是非常稀缺的特质,二来也是自己内心的投影。我当然不会同意家长的遗憾在子女教育上去做找补,但是从这个角度看,第一个点我很坚信女儿自己能吸收成长,第二个点只有自己去解。

秋意凉,多思量。