自 Android Q (Android 10) 起,系统支持了“私人 DNS” (DNS over TLS) 功能。在网上很多教程中,都直接使用 Cloudflare DNS (1.1.1.1) 或 Google DNS (8.8.8.8) 这些公共 DNS,但是它们在国内的访问速度都不是很理想。因此,需要搭建一个真正的私人 DNS 服务器。
在阿里云轻量应用云服务器上安装 Ubuntu Server 20.04 LTS
今天 Ubuntu 20.04 LTS 发布了,因此在一个闲置的云服务器上尝尝鲜,顺便换掉让人不爽的阿里云魔改版系统。
源码编译 PHP-FPM 7.4.4
如何编译 PHP-FPM 其实很多人的博客都有,在此只是做一个记录,方便自己查找。
这里的编译选项应该是最全的了。由于都是套路,所以也不做解释了。只提两点:
- 如果 PathInfo 编译错误,是内存不足的原因。
- 要安装 snmp,才能使用 snmp 扩展,否则 PHP 程序会报错。(即使没有调用 snmp 函数)
近期对博客的更改日志
全部链接完成到 josephcz.xyz 新域名的切换
在之前,本站仅仅做了 josephcz.win 和 josephcz.xyz 两个域名的双解析,并没有进行跳转。现在本站将 josephcz.win 永久重定向到新域名 josephcz.xyz。同时,清理了所有代码中的老域名配置和链接,全部更换到了新域名。
全部服务器 SSL 部署方式切换到 acme.sh 并启用通配符证书
在 2 月,本站在部署邮件反向代理服务器是试用了 acme.sh。由于 certbot 申请泛域名证书时比较麻烦,需要手动设置 DNS TXT 记录,因此切换到可以通过 API 自动设置 DNS TXT 记录的 acme.sh。同时,从 4 月 1 日起,在所有服务器上开始使用通配符证书。
主域名加入 HSTS Preload List
本站在一年前启用了 HSTS,经过一年的测试,认为启用 HSTS 并将 HTTP 请求重定向到 HTTPS 请求基本没有兼容性问题。现在使用通配符证书,也意味着不支持 SNI 的浏览器也可正常访问本网站。因此,本站将 HTTP 链接永久重定向到了 HTTPS 链接,并将 HTST 有效期设置为了 1 年。考虑到本站已经进入稳定运行阶段,各个子站点也部署在支持 HTTPS 的服务器上,因此在 HTST 标头中加入了 includeSubDomains
选项。
同时,本站现在已经加入了 HSTS Preload List,并出现在了Chromium 源码中。
在 Nginx 上配置 SSL 加密的 SMTPS, IMAPS 和 POP3S 反向代理
准备工作与说明
本文是针对使用第三方企业邮箱(域名邮箱)的,如果您有独立的邮件服务器,不适用本文。
您需要一个具有 root 权限的 VPS 或云服务器。
我们假定您已经做好 DNS 的 MX 记录解析,第三方企业邮箱已经运行正常,且将 smtp/imap/pop3.<yourdomain>.<yourtld>
解析到您正在操作的服务器上。
本文使用的是 Ubuntu 操作系统,其他系统的操作可能有所不同。
使用 acme.sh 申请 SSL 证书
首先下载 acme.sh :
1 | curl https://get.acme.sh | sh |
随后申请证书。笔者使用的是 DNSPod 作为 DNS 服务器,为了进行 DNS 验证,需要获取 DNSPod 的 API 访问密钥。