Lan Tian @ Blog

nginx 配置 LDAP 认证

我的各台服务器上安装了各种不同的服务,都有各自的用户名密码体系,难以统一管理。假设未来某天我的密码泄露了,一个个修改就会非常累人。因此,我希望用一个服务来专门管理用户名密码,其它服务都从它上面获取认证信息。LDAP 是常用的认证协议之一,不仅有许多软件原生支持它的认证(包括 Jenkins,pfSense 等),而且通过插件可以使得 nginx 支持它,为任何基于网页的服务加上统一管理的认证。添加插件如果你的 nginx 已经是源代码编译的,添加 nginx 的 LDAP 插件只需要三步:apk add openldap-devgit clone https://github.com/kvspb/nginx-auth-ldap...

在 Traceroute 里膜 拜大佬

Traceroute 是常用的检查网络状况的工具之一,会显示你操作的电脑到指定服务器的网络路径上经过的每一个路由器的 IP 地址,类似于这样:可以看到后两跳的 IP 显示出了对应的域名,这个域名就是 IP 的反向解析记录。反向解析记录在 DNS 服务器中以类似 4.3.2.1.in-addr.arpa 域名的 PTR 记录形式存在。更多的信息可以参考《在 DN42 中设置 IP 反向解析》这篇文章。然而,PTR 记录并不一定要设置成实际的域名,可以设置成任意的字符串,只要“和域名长得像”即可。利用这一点,我们可以在一段 Traceroute 中的每一跳上写一句话,整段就组成了完整的文章,类似下图:本文均在 DN42 网络中完成...

x86 下制作 ARM Docker 镜像,Docker Hub、Travis 自动构建

一般情况下,Docker 的镜像都是在一个已有的镜像内,一步步运行给定的命令,从而生成一个新的镜像。这样的步骤在大多数人使用的 x86 架构计算机上都不是问题,由于架构互相兼容,一台计算机上生成的镜像往往可以被直接复制到其它计算机上运行,除非镜像中的程序使用了 AVX 等较新的指令集。但是,还有一批基于 ARM 架构的主机也可以运行 Docker,并运行专门编译的 ARM 架构的镜像。这些主机包括树莓派系列,和其它类似树莓派的主机,例如 Cubieboard,Orange Pi,Asus Tinker Board 等等。另外,Scaleway 等主机商也提供基于 ARM 架构的独立服务器。由于 ARM 架构的系统无法在 x86 架构计算机上运行...

Docker 镜像的精简

自从放弃 OpenVZ 架构的 VPS 并购买 KVM 架构的 VPS 以来,我一直使用 Docker 部署 nginx、MariaDB、PHP 等网站需要的程序,不仅方便平时单个服务的重启和配置管理(把配置目录全部用 volume 映射到一起管理),而且方便了服务的升级。例如,我现在博客所在的 VPS 因为配置不高,内存占用最近一直在 80% 左右。我要更新 nginx 或者向 nginx 里加模块时,如果直接在这台 VPS 上编译 nginx,不仅速度慢,而且有可能因为内存不足而把网站也崩掉。使用 Docker 后,我就可以在其它的空闲资源较多的 VPS 或者在我自己的电脑上构建镜像,push 到 Docker Hub,再在 VPS 上 pull 下来运行...

nginx:TLS 1.3 多版本草案和 HPACK

距离我之前给 nginx 启用 TLS 1.3 已经过了 11 个月了。快一年过后,许多与 nginx 相关的程序、补丁都有了很大的变化:OpenSSL 已经在发布 1.1.1 的测试版,写本文时最新版本是 1.1.1-pre8(也就是 Beta 6)。nginx 已经更新到 1.15.1。nginx 的 HPACK 补丁(HTTP 头压缩补丁)的 bug 已经有另外的补丁的补丁修复,使用原先的 HPACK 补丁会导致网站访问不正常,体现为每个网站只能打开一个页面,第二个页面开始就出现协议错误。有大佬发布了 OpenSSL 的补丁,可以让最新版 OpenSSL 同时支持 TLS 1.3 的 draft 23,26,28 三个版本...

Kimsufi 独服安装升级 ESXi 并设置软路由

Kimsufi 是法国 OVH 公司的一个廉价品牌,专门出租性价比极高的服务器。我自己租的是 KS-4C 型号,i5-2400 处理器,16GB 内存,2TB 硬盘,百兆带宽无限流量,只需要 13欧元/月,性价比极高,非常适合开虚拟机做实验。VMware ESXi(现在也叫 vSphere Hypervisor)和 Proxmox VE 是两个非常流行的专门用来开虚拟机的操作系统,且两者都是免费的。最重要的是,Kimsufi 的控制面板中都有两款系统的一键安装。但我在使用过程中发现 Proxmox VE 在网络条件不佳的情况下远程控制虚拟机经常连接不上(VNC 黑屏)或者丢键(输密码时尤其要命),因此还是换装了 ESXi...

编写配置文件,让 Thunderbird 自动配置域名邮箱

许多人在自己的网站域名上设置了邮箱系统,我也在主站 lantian.pub 的域名上使用了 Zoho 的域名邮箱。不过使用域名邮箱的一大缺点是,你很难记住邮件系统的 POP3、IMAP、SMTP 等服务器地址,一旦出现重装系统、重装邮件客户端等情况,需要重新配置时,就不得不再登上邮件系统去查看服务器地址,非常麻烦。不过,如果你用的是 Thunderbird 邮件客户端,在设置账户时,你可能注意到,Thunderbird 在添加账户时,会有一个“从邮件服务商获取设置”的过程。这个过程实质上就是从这个域名的网站服务器上请求一份 XML 文档,其中记录了邮件服务器的设置。因此,只要手动编写这份配置文件,并将它放在网站服务器上,就可以实现 Thunderbird 下的自动配置了...

在 DN42 中设置 IPv6 反向解析

DN42 全称 Decentralized Network 42(42 号去中心网络),是一个大型的 VPN 网络。但是与其它传统 VPN 不同的是,DN42 使用了大量在互联网骨干上应用的技术(例如 BGP),可以很好的模拟一个真实的网络环境。我在先前的一篇文章中加入了 DN42 网络,并在另一篇文章中注册了自己的域名,设置了自己的 DNS 服务器。然后,我在这一篇文章设置了 IPv4 的反向解析。当时由于 DN42 Wiki 上的信息有点问题,导致我当时认为不能设置 IPv6 反向解析,但经过我尝试后发现是可以的。因为设置的是大体相同的东西,所以本文会和之前 IPv4 的文章有比较多的内容重复(复制粘贴)...

在 DN42 中设置 IP 反向解析

DN42 全称 Decentralized Network 42(42 号去中心网络),是一个大型的 VPN 网络。但是与其它传统 VPN 不同的是,DN42 使用了大量在互联网骨干上应用的技术(例如 BGP),可以很好的模拟一个真实的网络环境。我在先前的一篇文章中加入了 DN42 网络,并在另一篇文章中注册了自己的域名,设置了自己的 DNS 服务器。有了 DNS 服务器,我们就可以给自己的 IP 也设置上反向解析记录。反向解析记录的主要用途是反垃圾邮件,以及在 ping、traceroute 等网络工具中或许能好看一点。设置 IP 段的解析服务器第一步是将自己所有的 IP 段解析到自己的 DNS 服务器上...