Cheatsheets

共 57 篇文章。

作弊条:在 Nginx 中正确配置自定义 404 页面

• Cheatsheets

最近给 blog 增加了一个自定义的 404 错误页面。像 Hugo 这样的静态网站生成器在构建时,默认会把渲染好的 404 页面直接输出在网站根目录下,即 /404.html。

针对这类页面,我们通常希望:

  1. 当访客访问不存在的网址时,服务器呈现该页面的内容,并且 HTTP 状态码必须是 404。
  2. 当有人(或爬虫)直接在浏览器中访问 /404.html 时,同样呈现其内容,但返回的 HTTP 状态码依然必须是 404,而不是 200 OK。
阅读全文… ( 本文约 1258 字,阅读大致需要 3 分钟 )

改善大量重复内容文件的 tarball 压缩效率

• Cheatsheets

有时,我们会希望分发包含大量重复文件的 tarball。绝大多数情况下,tarball 都会进行压缩,进行适当的预处理有助于显著地提高压缩效率。

数据压缩的基本原理是利用数据中的冗余,通过更短的编码或规则表示重复或可预测的内容,从而减少存储或传输所需的空间。简单的例子中,比如连续重复的字符「AAAAAA」可以表达为「6A」,然而,当重复数据分布在较长范围内时,压缩算法很难直接发现和利用这些远距离的关联,因为需要额外记录位置或匹配信息,这种匹配开销很大,做的话会严重影响压缩速度并且可能收益不高。对于文本文件来说,其中的许多内容会高频率地出现,而如果一个 tarball中包括数个内容一样的大型二进制文件,压缩算法很难有效地检测并对他们进行正确的处理。

阅读全文… ( 本文约 664 字,阅读大致需要 2 分钟 )

记一笔 paperless-ngx

• Cheatsheets

其实想搭一套 paperless-ngx 已经挺久的了,趁着四月底休假的时候搞了一动。

我们经常会有一些各式各样的 PDF 文档,例如和各种供应商、公司之间签署的文件、账单,以及参加一些学术会议时留下的幻灯、资料等等。比较自然的办法就是创建不同的文件夹来分门别类地保存。然而,简单地用文件系统来保存这些文件有这样一些问题:

阅读全文… ( 本文约 1786 字,阅读大致需要 4 分钟 )

Google Domain 域名转让备忘

• Life, Cheatsheets

这里记录一下过程备忘。

我在 2011 年注册了一个比较技术宅的 .org 的域名,但一直没有实际投入使用,最近宏观经济形势不太好,所以索性把不用的域名出一批来减少持续的花销,周四终于出现了一位愿意接手的朋友,于是我们找时间做了一次域名转让的操作。

阅读全文… ( 本文约 823 字,阅读大致需要 2 分钟 )

作弊条:SSH 的 ProxyJump 跳板服务

• Cheatsheets

问题

有些环境中,SSH 服务器可能无法从 Internet 直接访问(例如,SSH 服务器可能使用的是一个私有 IP地址,或是 Internet 服务提供商没有提供 IPv6 服务,而 SSH 服务器只提供 IPv6 服务)。

考虑到 SSH 已经进行了相互认证(连接时客户端会验证服务器的公钥是否与已知公钥,例如 ~/.ssh/known_hosts,或是通过 DNSsec 发布的 SSHFP RR 匹配;服务器端则会验证用户是否能证明自己拥有与授权公钥对应的私钥),因此比较常见的解决方法便是使用 VPN、在防火墙上穿孔,或是使用代理服务器。

由于 SSH 自身也提供了许多转发功能,因此如果中间的跳板服务器也提供 SSH 服务,便可以使用这些跳转服务器直接作为代理服务器来用。与前面那些传统方法相比,这样做的优点是避免了安装额外的软件,也不需要特别指定端口。

阅读全文… ( 本文约 1419 字,阅读大致需要 3 分钟 )

作弊条: ldapmodify 删除项目属性

• Cheatsheets

随便记一笔,备忘。

形如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
dn: mail=foo@somedomain.org,ou=somedomain.org,ou=org,ou=MailAccounts,dc=somehost
mail: foo@somedomain.org
accountstatus: alias
sn: Foo
cn: Foo account at somedomain.org
objectClass: postfixAlias
objectClass: person
maildrop: delphij@delphij.net
maildrop: someone@example.org
maildrop: someoneelse@example.edu
maildrop: anotherperson@somewhere.com

这样一个项目,希望把后三项删掉。

阅读全文… ( 本文约 330 字,阅读大致需要 1 分钟 )