使用短域名提供 Docker 镜像

原理是基于方向代理,例如镜像源为 docker-library.example.com,想要使用 example.com/<仓库名> 或者 example.com/<用户名>/<仓库名> 的方式来访问镜像;同时正常的 HTTP 访问依然返回 HTML 页面。

需要注意的是,此方案会导致 /v2 开头的 URL 被路由到 Docker Registry,因此您设计的 Web 页面不能包含 /v2 开头的 URL。

Nginx 配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
location /v2 {
# 对于 example.com/<仓库名> ,默认路由到 _library 用户名(即 docker-library.example.com/_library/<仓库名>)
if ($uri ~ ^/v2/(?<image>[^/]+)/(?<resource>manifests|blobs)(?<suffix>/.*)?$) {
rewrite ^/v2/(?<image>[^/]+)/(?<resource>manifests|blobs)(?<suffix>/.*)?$ /v2/_library/$image/$resource$suffix last;
}
# 对于 example.com/<用户名>/<仓库名> ,路由到 docker-library.example.com/<用户名>/<仓库名>
if ($uri ~ ^/v2/(?<user>[^/]+)/(?<image>[^/]+)/(?<resource>manifests|blobs)(?<suffix>/.*)?$) {
rewrite ^/v2/(?<user>[^/]+)/(?<image>[^/]+)/(?<resource>manifests|blobs)(?<suffix>/.*)?$ /v2/$user/$image/$resource$suffix last;
}
proxy_pass https://docker-library.example.com;
proxy_set_header Host docker-library.example.com;
proxy_set_header X-Real-IP $remote_addr;
}

proxy_set_header 选项可以根据需要添加。

在 Debian 安装程序中跳过 Security 源

在 Debian 的联网安装(包括 Netboot 和联网的 CD 安装介质)过程中,Debian 安装程序会自动添加 Security 源到 /target/etc/apt/sources.list 中。该源固定域名为 security.debian.org,且会忽视在安装过程中选择的镜像源。

然而由于众所周知的原因,部分国内的服务器无法正常访问 Debian 的 Security 源,导致安装过程中无法下载更新。

为了解决这个问题,需要在 Debian 安装程序的 Configure APT 阶段终端自动安装程序。

阅读更多

防止 Nginx 的未授权解析和 SSL 源站泄露

对于境内备案网站,为了防止不法分子恶意将未授权域名解析到服务器,可以在 Nginx 上进行如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
listen 80 default_server;
listen [::]:80 default_server;
return 444;
}

server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name _;
return 444;
ssl_reject_handshake on;
}

阅读更多

在 Systemd 中使用自动用户和运行时凭据

在传统的 Linux 运维中,如果需要使某个服务以非特权用户运行,一般会为其创建一个专门的用户,并配置 User 和 Group 字段。

在 Systemd 中,对于不需要精细控制权限的情况,则有更加简便的方法。

.service 服务单元配置文件中的 [Service] 部分,可以下面的配置项来启用这一功能:

1
2
3
4
5
[Service]
DynamicUser=yes
PrivateTmp=yes
PrivateUsers=yes
PrivateDevices=yes

如此,即无需在 [Service] 部分配置 User 和 Group 字段,Systemd 会自动为该服务创建一个临时用户,并在服务停止后删除该用户。

阅读更多

在 2025 年更换手机号:一份检查单

近期电信忽悠家人办理了新的套餐,老的套餐不再使用。然而其依然在收取每月 10 元(共 5 个号码,合计 50 元)的保号费。虽然现在已有携号转网政策,但考虑到一来有人在携号转网后遭遇无法收到验证码短信等问题,二是电信声称:「如果要携号转网的话,需要五个号码一并转出,不能只转一个」。因此最终还是决定更换手机号码,而不采用携号转网的方案。

在此对相关操作进行记录,整理为检查单,以供日后查阅,亦可供他人参考。

此处仅记录需要注意更改手机号的平台列表及注意事项,不包含具体操作(其实也不记得了)。

阅读更多