普通视图

已接收 — 2026年1月12日 kn007的个人博客

2024年的尾巴,冒泡推歌

作者 kn007
2024年11月29日 03:07

没想到,转眼时间过得这么快,2024年就快结束了。

据上一篇博文已经过了一年多来,确实挺久了,本说是保持更新,一忙起来,说放就放了。

想想开始博客时是2012年,期间博客内容算是有保留的发布(啥都想发,啥都不想发),我觉得也没啥好说的。

其实博客蛮难定位的,说真心话,又觉得被别人看到挺傻的。说假话,又觉得很无谓,包装自己给谁看呢。可能一开始过于无欲无求了,目标明确点,应该会有更侧重点,结果或许不同,不知道。但在这个博客都要快泯灭的时代,无所谓了。

深夜博文,思绪有点多,各种飞。这12年来,收获挺多,但又觉得虽是忙碌却进步太慢。

没想到最近最多的感受,是后悔。或许这就是年龄增加带来的,还是经历多累了?明明年轻时后悔,也能轻易放开,后面别再后悔就行。现在却也偶尔会忍不住会想,如果当初如何,有点可笑了。

不过我没变,知道留恋过去或假设如果,一点用没有,自我YY而已。所以我还是想对自己制定一些计划去执行,为了更好的以后吧,让自己变成担得起的人。

过去也计划过很多事,但是因为各个阶段要忙碌的事情不同,还有现实问题的磕磕绊绊,导致一些计划没完成(想想人生其实一直在不断地妥协)。还是想去完成它们,迟到比不到好。

感觉再写下去会有点严肃,甚至沉重。就此打住吧。

最近听的比较多的音乐是由Daniela Andrade演奏的,曲风节奏比较慢,让我很放松。翻唱得蛮有味道的,她的吉他弹唱深得我心。

文末,给大家来一首她的《Crazy》。

转载请注明转自:kn007的个人博客的《2024年的尾巴,冒泡推歌

7月末,闲聊一些想法

作者 kn007
2023年7月25日 23:25

接下来看来是比较忙碌的,估计要忙到11月、12月。事情太多了,本来是想周更,只能是计划有变。

今天聊聊体重吧,之前(8年前)都不超60kg,唯一一次到67kg,还是因为有了空气炸锅后,没什么节制,所以胖了,最后也减回来了。

但今年上到71kg了,是真的有点重了(我比较矮),虽然肥宅确实很快乐。主要还是坐太久了,吃得也多,没怎么控制热量,加上没运动,各方面原因。本来结了婚的话,也没啥。。。但现在还没找女朋友,可能还是要稍微注意下。这段时间估摸着也要对自己身体负责,需要制定点计划。

其实不忙的话,什么事有了计划都挺好实施和完成的。但是一忙,想做的事多,就要放弃一些东西。身体还是很重要的,胖了之后,我发现有很多身体行为都趋向节省体能上,而且我还是平底足,感觉各方面都容易疲劳。所以这不锻炼不行了,得看怎么安排时间出来。

还有超强台风杜苏芮马上就来了,不知道最终它会登陆哪里,登陆哪里,哪里都是灾难。希望一切安好。


挑了几首国语情歌送给大家。

最近又看了几部电影,重点推荐一下《神迹》(Something the Lord Made),挺不错的片子。

还有想推荐一部早前看过的《当男人恋爱时》,以及它的主题曲,茄子蛋的《爱情你比我想的阁较伟大》,真的非常好听,很有共鸣。

转载请注明转自:kn007的个人博客的《7月末,闲聊一些想法

MySQL 8.0.34对其自带身份验证标记弃用

作者 kn007
2023年7月18日 19:19

如题,如果你的MySQL的用户还在使用mysql_native_password(密码插件)的认证方式,那么在MySQL更新到8.0.34后,每次数据库用户以mysql_native_password方式访问MySQL,日志就会输出mysql_native_password已经废弃,即将在未来版本移除,请以caching_sha2_password替代。

日志原文:

Plugin mysql_native_password reported: 'mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead

旧的数据库账户,除了MySQL自带的账户,通过SQL来更新认证模式和密码:

ALTER USER '用户名'@'域' IDENTIFIED WITH caching_sha2_password BY '密码';

必须附带密码(可以用旧密码),因为加密方式不一样。你不改密码直接通过UPDATE改用户认证模式到caching_sha2_password,MySQL会输出日志提示该用户无效,忽略。

Found invalid password for user: '用户名@域'; Ignoring user

而MySQL自身的账户,可以通过以下SQL更新到caching_sha2_password模式:

UPDATE mysql.user SET plugin='caching_sha2_password' WHERE user='mysql.session' OR user='mysql.sys' OR user='mysql.infoschema';
UPDATE mysql.user SET authentication_string='$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED' WHERE user='mysql.session' OR user='mysql.sys' OR user='mysql.infoschema';

另外就是binlog_format默认为row,且已经废弃,即将在未来版本移除。

对于PHP来说,使用7.1(7.1.16之前的版本)或者7.2(7.2.4之前的版本),仍需要将MySQL服务器的默认密码插件设置为mysql_native_password,不然无法正常连接到MySQL。

这些版本的PHP建议尽快更新到最新版本8.2.8,或者尽快更新对应版本的新的小版本。

转载请注明转自:kn007的个人博客的《MySQL 8.0.34对其自带身份验证标记弃用

怀旧粤语音乐分享

作者 kn007
2023年7月16日 15:22


今天给大家带来一份粤语老歌的歌单,老歌更能勾起回忆,基本是我这代童年回忆了。

想起以前在家,用电脑边听音乐边打游戏;在学校,用着MP3听歌,与别人交流着。

为什么纯粤语呢,主要是混合歌单的话,我个人听是无所谓,但是怕其他人觉得怪,推荐就稍微纯粹一些。

论日常听国内音乐的话,其实我常听的是国语、粤语、闽南语,还有吴语。。。前三者感觉不必过多解释,其中吴语说白主要是听的上海复兴方案他们的出品,很好听。

我算是一个喜欢方言的人,虽然方言确实让交流变得麻烦,但是不妨碍我觉得很有趣。特别是一些朋友,他们说方言和普通话,完全是不同画风,就很搞。如果在一个有自己方言的地方多待,我会尽量去学习他们方言,主要是拉进距离,产生话题。


最近其实一直在想,也有在写影评,但是写了之后,总无法满意。我重写了好几次,却无法很好表达出电影给我带来的冲击,写得过于平淡无趣。

所以关于影评文章,应该是选择放弃了。这次就让我只是推荐几部最近看的电影吧。

它们是:《海边的曼彻斯特》、《无人出席的告別式》、《一个叫欧维的男人决定去死》、《当幸福来敲门》、《叫我第一名》。

转载请注明转自:kn007的个人博客的《怀旧粤语音乐分享

聊现今对博客的看法

作者 kn007
2023年7月9日 21:32

不知道大家怎么定义博客这个东西,在我以前的想法里,如果过于分享自己生活,有点作作,特别是分享得很特意的话。人们很容易对一个博客的第一印象去打上标签,我也是我承认,所以可能内心有时也会顾虑一些看法和想法的分享。

但是后面想明白了,不要太在意他人的想法,你自己的想法是什么很重要。你觉得发了别人觉得你作,但跟你一开始想分享的心情又有什么关系。

活在世间,确实条条框框挺多。但既然现实中已经努力去维护了,有时也需要展示另一面(我觉得不能叫发泄)。

但是这一面,不能过于放纵、随意,因为它可能会让你改变准则。且有时也不想太多人知道,所以一个无人知的博客是一个很好的选择。

接下来技术类文章可能会继续减少,多聊一些现实生活或精神世界上的一些东西。

不是说技术类没人看,看统计就知道了,大量的外部引用访问记录。

技术这种东西,在现实中,更多是给我们带来物质基础,但是精神上的慰藉需要其他东西。

在这块,我更多是听音乐,偶尔看看电影。特别是音乐,很容易共鸣,无论是曲或词。

电影更多会有内心感动(非表面感动)的是塑造的人物以及事件能否跟你的准则引起共鸣。

在我看来,无论你内心多么强大,但是依然会渴望肯定。不是说人喜欢听好听话(虽然也确实也有点),但是被肯定到自己想被肯定的点,还是很开心的。

目前有个计划,就是分享歌单这些(不过也怕有有版权纠纷),还有电影及一些唠叨。

歌单分享,无非是收集并发布,难度不大。单纯的唠唠嗑,也还行。

但电影推荐这个东西,每个人不同经历,不同阅历,可能有很大的看法区别。干巴巴提电影名又觉得太干,怎么推荐还是个问题。靠电影大方向,借题发挥?从未想过也没写过影评,这都是个问题。

我也不知道,这次头脑一热的决定,能坚持多久。很可能很快又变回去。

关于技术类,或者说自认为对多数人有帮助的文章,我一般会放在推荐阅读中,希望接下来的分享,也有可能进这里边吧。但是这种有点感情宣泄的东西,我觉得很难,除非能在这块也突破自己。

最后,可能会作为以后非歌单文章的惯例,送上一首音乐。

顺便吐槽WordPress的Feed,真的是年久失修,一言难尽。直接hook改了自己输出。

转载请注明转自:kn007的个人博客的《聊现今对博客的看法

聊聊对Lua Nginx Module的看法

作者 kn007
2023年7月1日 15:00

我已弃用Lua Nginx Module,从很早之前,就一直吐槽拖拉,更新基本都是bug修复了(确实很棒)。不过它对标版本是Nginx的Mainline,但是跟进给你的感觉比Stable的速度还要落后,就很矛盾。

在OpenSSL 0.9.x到1.0,等了一些时候,1.0到1.1又是等了许久,特别是1.0到1.1。其实其他组件升级支持前,都有一段时间测试期(也并不短),但是Lua Nginx Module进度很慢,还要觉得是对方改变太多,所以他们需要大量时间来修补。

而如今PCRE,很早就有人提到需要支持PCRE2,一句话也是官方不更新,我们不跟进。如今官方默认使用PCRE2快两年了,没有任何进展。

能理解这个项目,但是我受够了。或许是期望太高,且官方也没有做这块的任何承诺。但既要依赖,却不跟进上游进度,每次都是拖后腿的那一个。那我只能根据实际情况去迁移,不可能为了非主要功能去忍受臃肿而落后的模组。

这一块,根据需求不同可以选择njs或者Perl Module代替,甚至直接跟我现在一样,直接把相关功能简化到无需额外Module来实现功能。

如果确实无法代替,那也确实没办法。

不否认的是Lua确实很优雅很效率,但是现在的更新就感觉不到盼头(没有计划)。

还是很感谢这个项目,但是时候说再见了,期待你更好。


最后,与文章无关,放一首音乐:

转载请注明转自:kn007的个人博客的《聊聊对Lua Nginx Module的看法

聊聊过去一年的瞎折腾-杂项篇

作者 kn007
2023年6月28日 21:39


今天这些,主要是杂七杂八,日常生活上买的一些东西。

如果没看过上篇的话,建议看看《聊聊过去一年的瞎折腾-电脑篇》。

上篇提到过,博客或有新计划新想法。主要是我觉得荒废博客太久也不好,确实忙,但是抽点时间也还是有的。

前段时间逛了下博客圈,很多人是还在,但退出博客圈也不少,或许因为家庭,或许因为其他现实生活原因,毕竟怎么说呢,有家庭后有孩子后,可能压力也更大了,慢慢放弃一些东西,也正常。还有一些朋友把博客当成了树洞发泄,或许因为现实世界无处释放emo情绪。

目前我还有精力,所以在考虑看用什么方式继续写作,把博客继续下去。我的一个想法是看写博文配音乐,特别是老歌,最近整理了很多老歌。另外一个就是发发歌单(但是不知道版权会不会有问题),老歌还是蛮勾起回忆,希望也能为大家找回年轻时的感觉。

好了,废话啰嗦完,上图,看看除了电脑配件我还买了啥。

老规矩,随便点开一张图片,就可以查看放大图片。

首先,是新手机,一加11,自一加7Pro后,终于换手机。换的原因只是觉得该换了,而且256G对我来说,确实不够用,继续顶配走起。还另买了额外的充电套装。









接下来是Bose耳机,QuietComfort Earbuds,现在的大鲨一代(去年买的时候就只有一代)。说实在的,我还是喜欢BOSE SoundSport Wireless多一些。。。降噪耳机有耳压,不如不降噪的耳机。但是现在的厂商都越来越往这个方向,我其实没啥意见,但是原有的产品却不再生产或更新了,有点被逼着换的感觉。



以及Bose的蓝牙音箱,Soundlink Revolve + II,大水壶二代。非常不错,讲道理,音质不错,各个方向都是一样的感觉,而且有个提手,就很棒,帅。


然后是路由器,终于从RT-AC66U B1到现在的RT-AX86U Pro,WIFI6提升很大,主要手机电脑都支持,速度杠杠的,然后华硕ASUS还送了文化衫。


接着是更娱乐方面的东西,微软的精英手柄二代,手感很棒,按键多,蛮适合我。



以及图马思特TCA空客版机长组合包XS版(Thrustmaster TCA Captain Pack X),这个是在B站中奖得来的,由UP主eric_jeppesen颁发,真的是非常感谢,配合MSFS2020就很棒。



最后是一些杂七杂八的东西,有手表、iPad、YubiKey、一个出门带的小路由器、鼻毛修剪器、读写卡嗅探器(其实我还买了PM3这些,但不如这个好用)。







还有新买了Kayano 29,但是忘记拍照了,就不上图了。之前入过Kayano 19Kayano 25,也是老用户了,对我这种平足的人很是友好,非常舒适无感。

以上就是本章的照片分享,送上一首音乐,希望能勾起部分人的童年回忆。

小声BB一句,我首页现在文章摘要会断句了。

转载请注明转自:kn007的个人博客的《聊聊过去一年的瞎折腾-杂项篇

聊聊过去一年的瞎折腾-电脑篇

作者 kn007
2023年6月25日 23:33

聊聊断更一年来(其实也没有啦)折腾的一些东西,因为比较杂,图片也多,所以分两篇吧。

第一篇是电脑篇,就更新换代的一些东西;第二篇是其他杂七杂八的,包括接下来博客的一些想法,会在下一篇。

关于电脑,其实之前发过文章《更新至新款牙膏厂产品,聊聊新电脑》,但是没有附图,导致可能有些遗憾。不过确实我没怎么拍照,只能补补后面陆陆续续换硬件时的照片。其实我硬件更新换代也算勤了,比起一般人来说。

现在配置的话是:

CPU:Intel i7-13700K
显卡:Colorful iGame GeForce RTX 5070 Ti Advanced OC 16GB
主板:MSI MPG Z790 EDGE WIFI
内存:SK Hynix DDR5 5600 32G*2
硬盘:Samsung PM9A1 1T, Lexar Professional NM800 512GB, Samsung PM9A1 2T*3, Samsung PM9A3 3.84T, Samsung PM9A3 15.36T
电源:Seasonic Focus GX-1000 Gold
机箱:Fractal Design Torrent Compact
键盘:PLUM NIZ 87EC(S)WP 35gf with MDA keycaps
鼠标:Logitech M590
显示器:Redmi G27U 4K@160hz
散热器:Thermalright FC140 with Phanteks PH-F120T30*2
散热风扇:Fractal Design Dynamic X2 GP-18*1, DEEPCOOL FT14*1, Phanteks PH-F120T30*2, Nidec AD4A31K05(CW)*1
显示器支架:Humanmotion HT-Zero-1B

因为之前未标注声卡和音箱(都是老物件),就不写上去了。看过以前文章的知道,声卡是M-Audio FireWire Audiophile,音箱是Bose C5,耳机用的BOSE SoundSport

还有就是博客没做幻灯片灯箱功能,下面图片可能有点错乱无制。请大家随便点开一张图片,就可以查看放大图片的效果,并且可以控制前后张。

首先是之前换Torrent Compact,就很棒,图片如下,机箱配的纸箱也很好玩。如之前说,闷罐算什么静音机箱,温度低才能安静。换了后,通风良好,直接机箱内所有风扇转速降低,十分静音,而且硬件温度也降低了,爽。

接下来是显卡,新旧显卡对比,这2070 Super跟3080比,确实大小差别很大啊。


以及海韵Focus GX-1000电源,还有官方压纹线。



最后是一些配件和理线后的一些图片。











至于Z790+137K,新硬件更换完后,可能确实是太累了,又要烤鸡什么的,就没拍照了,其实跟前面理线完的图没啥区别。。。给大家看下新硬件还没装进机箱时的图片吧。内存用了枫华出的散热片(锯齿版-阳极黑-6061铝),当时厂长还没做出来散热片(即便做出来也不一定选择其实)。










以上就是本章,电脑相关的照片分享。

下一篇文章,会尽快发出来。


使用新的显示器和显示器支架,从 Colorful iGame GeForce RTX 3080 Vulcan OC 12G LHR 换到 Colorful iGame GeForce RTX 5070 Ti Advanced OC 16GB

因为新的显卡较长,与原机箱18cm风扇完全贴合,所以下面的18cm风扇换成九州风神的FT14。

垃圾猫头鹰,才两年不到,风扇轴承就时不时有异响,换成4090的反叶风扇,更安静还大风。

-- 2025 年

转载请注明转自:kn007的个人博客的《聊聊过去一年的瞎折腾-电脑篇

聊聊Nginx 1.25和HTTP/3

作者 kn007
2023年6月16日 19:38

距离之前闲聊Nginx,已经过去快3年。而之前在Nginx 1.16时,由Cloudflare为支持HTTP/3推出的quiche项目,也已过去了近4年。

时间过得很快,终于在前几周,5月23日,Nginx出1.25.0,Mainline版本合并QUIC分支,支持HTTP/3。

更新当天就已经更新到最新版本,只是没写文章。通过这里可查看本站HTTP/3支持状态。

原生支持,肯定是比较开心,毕竟不用去维护过多额外的东西。

我使用的是OpenSSL,虽然官方提示会不支持Early Data,但暂时不是很有所谓。

使用BoringSSL肯定是最好的,之前也看过一些测试结果,BoringSSL各方面性能还是比较不错的(可能部分项目不如OpenSSL 1.1)。但是不支持双证书,而且OCSP stapling需要补丁支持,不能说不好吧,但总觉得差点什么。等什么时候,感觉Early Data或者有其他特性更重要,可能会转变吧。

最近Nginx更新到1.25.1后,HTTP/2 Server Push支持被移除了。也因此,我之前做的Patch,取自CF的HTTP2 HPACK Encoding支持不再可用(因为它是以Server Push为基础)。目前对于最新版Nginx,Patch只保留了Dynamic TLS Record支持。

kn007/patchSomething could be public patches
Github1718433

对于此,个人觉得可以接受,因为这个功能我很少用,只在早期用过几次Server Push。主要是觉得不够实用,或者说没这个需求。但基于此而应用的HTTP2 HPACK Encoding支持倒是挺实用,它可以抑制被攻击时的影响,并且减少流量开销。因为HTTP/2 Server Push移除而丢失这一功能支持,稍微有点可惜了。

转载请注明转自:kn007的个人博客的《聊聊Nginx 1.25和HTTP/3

使用acme.sh和acme-dns申请Google免费泛域名SSL证书

作者 kn007
2022年5月5日 02:29

上来,先给传送门,不想看唠叨,想直接进入正题,请点这里

好久不见,甚是想念,上一篇文章发表时间已经过去很久。这段时间确实忙,也有很多私人事,导致一直没更新。

说起来,Let’s Encrypt出来这么多年,我推荐过给很多人,但自己从未使用过,也没有实际操作过任何ACME客户端(想想其实也不是太好)。

恰遇目前域名两年期泛域名证书(所谓野卡)即将过期,赞助商也不再赞助了,所以考虑使用像Let’s Encrypt如此的免费自动化的证书颁发机构颁发的证书。

可能为了安全、防止滥用等各种原因(我猜,没有细究),这些机构颁发的证书大多为90天上限(也有付费给一年期的)。

也就是说一年下来,证书需要不断更新,而非一年一次或两年一次,手动更新证书蛮累的。所以催生基于使用ACME协议的自动签发客户端来获取证书。

这么多年过去了,ACME客户端发展得十分成熟,常见有Certbot、acme.sh等等,感兴趣的也可以通过这里查看其它客户端。

运气不错的是今年3月底Google刚刚推出了公共证书服务,即与Let’s Encrypt类似的自动化公共证书管理服务。目前处于内测阶段,签发服务需使用Google Cloud的API(Public Certificate Authority API),除激活该API外,还需申请资格。

它颁发的证书和Google各项服务使用相同的根证书GTS(Google Trust Services)。其OCSP有国内节点,未受阻断且速度不错。但GTS的ACME Endpoint被阻断,国内服务器正常来说因为访问不了签发服务器而签发不了。

这次我将使用acme.sh来签发其泛域名证书。因为泛域名证书是必须通过域名的TXT记录(也叫ACME Challenge)来验证域名归属的,所以顺便讲解如何使用acme-dns来自动生成验证记录。

也主要是我使用的域名服务商(Google Domain)并未提供REST API,也就是无法通过请求API来自动更新TXT记录(手动更新岂不累死)。所以只能使用acme-dns这个项目,它提供了一个专门用于TXT记录更新的简单API。

其实即便你的域名服务商他们提供API服务的话,我也十分推荐你使用ACME-DNS这个项目,因为这个API,它只有它自身域的TXT控制权限,而非你的域名的所有控制权限。如果你不想配置太多(或者说不在意太多),也可以参考acme.sh的DNSAPI说明来配置,这看个人选择。


啰嗦够多,让我们进入正题。

本文基于CentOS 8 x64和Nginx。Windows Server用户可以88了。

首先让我们申请下Google公共证书授权服务的使用资格。

这一过程,需要你准备一个GCP(Google Cloud Platform)账号,然后通过这里创建项目。

项目名称和项目ID随意,也可以自定义好记的,一会申请API时要用。

创建好了之后,去启用“Public Certificate Authority API”,找不到的可以通过如下地址(记得修改项目ID):

https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=你的项目ID

接着到这里填写申请表申请测试资格。

带星号部分需要填写:

1.“电子邮箱地址”填写可以收到邮件的邮箱,审核通过后会发邮件给你(建议与GCP帐号相同)。

2.“Google Cloud Project ID”填写你刚刚新建好的项目ID(不记得就去GCP仪表盘复制黏贴一下)。

3.“Estimated usage”填写每季度你大概会签发多少张证书(根据你的实际)。

稍等一两个工作日,待你收到来自“Public CA Preview Access”发给你的邮件后,进入GCP,在你创建的项目下,在右上角点击“激活 Cloud Shell”,打开Google Cloud Shell。

在底部出来的Console命令行下,输入:

gcloud beta publicca external-account-keys create

可能会弹出提示让您授权访问权限,授权即可。随后便会得到b64MacKeykeyId,类似如下:

Created an external account key
[b64MacKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
keyId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]

得到密钥一会在acme.sh配置中使用,该密钥是有有效期的,所以要尽快使用。

接下来,让我们进入第二步,在服务器端,打开Shell界面,安装acme.sh和acme-dns。

yum install ca-certificates curl wget golang socat openssl openssl-libs openssl-devel crontabs -y
wget -O - https://get.acme.sh | sh
ldconfig
export GOPATH=/tmp/acme-dns/.lib
cd /tmp
git clone https://github.com/joohoi/acme-dns.git
cd acme-dns
go build
mkdir -p /etc/acme-dns/
cat acme-dns.service > /usr/lib/systemd/system/acme-dns.service
cp config.cfg /etc/acme-dns/config.cfg
mv acme-dns /usr/local/bin/acme-dns
setcap 'cap_net_bind_service=+ep' /usr/local/bin/acme-dns
useradd --system --user-group -m -d /var/lib/acme-dns acme-dns
systemctl daemon-reload

以上是我根据官方文档重写的脚本,复制黏贴即可。

其实修改acme-dns配置文件我也有自动化脚本,但每个人实际情况不一样,还是希望大家动手配置下。

如果你想懒且域名服务商提供API,那么你可以跳过下面这部分,查看acme.sh的配置。

那么在acme-dns配置文件/etc/acme-dns/config.cfg中,建议修改下面列举的这几项:

1.listen,你可以使用如“你域名对外IP:53”,或者监听全局的“:53”。
2.protocol,建议只选择“udp”。
3.domain和nsname按照实际(如果你会配的话),不会配的话,建议两个都使用“auth.你的域名”。
4.nsadmin填写你的邮箱,也可以保持不变。
5.records,根据第三点填写,如果你按我说的配,那么将本项内容中所有“auth.example.org”替换为“auth.你的域名”;“198.51.100.1”替换为“你域名对外IP:53”。
6.ip可以填写为“127.0.0.1”,如果你只是自用。
7.port不要与你服务器其他服务的端口冲突,你可以使用如“8053”。
8.tls填写为“none”,如果你刚刚第六点填写的ip项是对外ip,那么建议使用“letsencrypt”并设置acme_cache_dir为“/var/lib/acme-dns/cert”。

根据上面的配置后,记得放通你服务器防火墙的53端口流量。

然后,在Shell中,执行(根据上面写的第六、七、八点):

systemctl enable acme-dns
systemctl start acme-dns

export ACMEDNS_BASE_URL="http://127.0.0.1:8053"
curl -s -X POST $ACMEDNS_BASE_URL/register | python2 -m json.tool > /tmp/acme-dns.challenges
export ACMEDNS_USERNAME="$(cat /tmp/acme-dns.challenges | awk -F"\"" '/username/{print $4}')"
export ACMEDNS_PASSWORD="$(cat /tmp/acme-dns.challenges | awk -F"\"" '/password/{print $4}')"
export ACMEDNS_SUBDOMAIN="$(cat /tmp/acme-dns.challenges | awk -F"\"" '/subdomain/{print $4}')"
echo "FULLDOMAIN = $(cat /tmp/acme-dns.challenges | awk -F"\"" '/fulldomain/{print $4}')"

curl -X POST \
  -H "X-Api-User: $ACMEDNS_USERNAME" \
  -H "X-Api-Key: $ACMEDNS_PASSWORD" \
  -d "{\"subdomain\": \"$ACMEDNS_SUBDOMAIN\", \"txt\": \"___validation_token_received_from_the_ca___\"}" \
  $ACMEDNS_BASE_URL/update

看下最后得到的结果是不是:

{"txt": "___validation_token_received_from_the_ca___"}

是的话,说明acme-dns已经正常了。

再然后根据上面写的第五点和刚刚得到的FULLDOMAIN去你的域名服务商添加记录,如:

auth A 你域名对外IP
auth NS auth.你的域名
_acme-challenge.你的域名 CNAME FULLDOMAIN

那么在等DNS生效的期间,让我们来配置acme.sh。

acme.sh --set-default-ca --server google
acme.sh --register-account --server google -m <你的GCP邮箱> --eab-hmac-key <b64MacKey> --eab-kid <keyId>

acme.sh --issue --server google -d '*.你的域名' -d 你的域名 \
 --dns dns_acmedns --keylength ec-256 \
--cert-file /path/to/server.ecc.crt \
--key-file /path/to/server.ecc.key \
--fullchain-file /path/to/bundle.ecc.crt \
--ca-file /path/to/issuer.ecc.crt \
--reloadcmd "systemctl reload nginx"

acme.sh --issue --server google -d '*.你的域名' -d 你的域名 \
--dns dns_acmedns --keylength 2048 \
--cert-file /path/to/server.rsa.crt \
--key-file /path/to/server.rsa.key \
--fullchain-file /path/to/bundle.rsa.crt \
--ca-file /path/to/issuer.rsa.crt \
--reloadcmd "systemctl reload nginx"

这样就获得ECC和RSA双证书,其中/path/to/是你存放证书的路径(参考nginx配置文件)。

如果你刚刚没有配置acme-dns且你域名服务商提供了相应API,你可以参考acme.sh的DNSAPI说明找到你的域名服务商来配置,替换刚刚命令中dns_acmedns为对标的域名服务商API插件名。

至此,acme.sh和acme-dns便配置完了。现在acme.sh会自动每60天为你重新签约证书并重新加载nginx。

如果你需要邮件提醒的话,可以查阅acme.sh的set-notify说明

值得注意的是目前Google的ECC证书不提供完整ECDSA链,仅最终用户证书为ECC(Let's Encrypt是全链ECC)。

它也不支持Punycode编码的域名(类似xn--1.xn--2这种),虽然较其他签发商,它支持了IP地址签注,但仅限IP地址块的所有者进行验证。

还有就是GTS证书本身也使用到GlobalSign的根证书,所以兼容性会比较好。

最后补充一些图片:

来自“Public CA Preview Access”发过来的邮件:

证书路径:


其他备注:

启用“Public Certificate Authority API”,除了使用文中所提链接,也可以通过Cloud Shell执行以下命令启用:

gcloud config set project 你的项目ID
gcloud services enable publicca.googleapis.com

注意,如果你已经在你创建的项目页面下的话,可以不输入第一行。

转载请注明转自:kn007的个人博客的《使用acme.sh和acme-dns申请Google免费泛域名SSL证书

❌