域名与证书管理
域名绑定(domain:bind)
命令用法
# 绑定域名 + HTTPS 端口
docker exec uldisk-dev-uldisk-1 php think domain:bind \
--domain=cdn.example.com \
--port=8443
# 仅绑域名(不含端口,nginx 用 80)
docker exec uldisk-dev-uldisk-1 php think domain:bind \
--domain=cdn.example.com
# 清除绑定
docker exec uldisk-dev-uldisk-1 php think domain:bind \
--domain=
效果
- 更新
config表:system.bind_domain= 绑定的域名system.bind_port= 绑定的端口
- 生成 nginx 站点配置(
source/docker/nginx-site.conf.template渲染) - 不自动 reload nginx(需手动
nginx -s reload或重启容器)
校验规则
| 规则 | 说明 |
|---|---|
| 域名格式 | 合法域名或 IP(正则校验) |
| 端口范围 | 1-65535 |
| 禁用端口 | 80 和 443 由证书管理(J9)处理,domain:bind 不接受 |
| 空域名 | 清除绑定 + 删除 nginx 站点配置 |
证书管理(W6-J9)
管理界面
管理后台 → 证书管理:
- 上传 PEM 格式证书 + 私钥
- 查看 / 删除证书
- 证书到期 / 即将到期标识
证书字段
| 字段 | 说明 |
|---|---|
domain |
绑定域名 |
cert |
PEM 格式证书内容 |
key |
PEM 格式私钥内容 |
expires_at |
过期时间 |
issuer |
颁发者 |
上传证书
- 管理后台 → 证书管理 → 上传
- 填写域名
- 粘贴 PEM 证书内容(
-----BEGIN CERTIFICATE-----开头) - 粘贴 PEM 私钥内容(
-----BEGIN PRIVATE KEY-----或-----BEGIN RSA PRIVATE KEY-----开头) - 提交
安全处理
- 私钥打码显示(首末 4 字符 +
····) - 证书和私钥文件存储到服务器指定目录
- nginx-ssl.conf.template 自动渲染引用
nginx SSL 配置
模板文件 source/docker/nginx-ssl.conf.template:
server {
listen 443 ssl http2;
server_name {{domain}};
ssl_certificate /path/to/{{domain}}.crt;
ssl_certificate_key /path/to/{{domain}}.key;
# ... 路由配置 ...
}
生成自签名证书(测试用)
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem \
-days 365 -nodes -subj "/CN=localhost"
然后在管理后台上传 cert.pem 和 key.pem。
nginx 配置模板
nginx-site.conf.template
HTTP 站点配置模板,由 domain:bind 渲染。包含:
- 域名 + 端口监听
- PHP-FPM fastcgi 代理
- X-Accel-Redirect 零拷贝下载 location
- WebDAV / S3 / raw 路由
nginx-ssl.conf.template
HTTPS 站点配置模板,由证书管理渲染。包含:
- SSL 证书 / 私钥引用
- HTTP/2
- HSTS 头
- 与 HTTP 模板相同的路由配置
配置项
| 键 | 说明 |
|---|---|
system.bind_domain |
当前绑定的域名 |
system.bind_port |
当前绑定的 HTTPS 端口 |
system.domain |
站点域名(用于生成外链 URL) |
原文标题:域名与证书管理
原文文档:uldisk
原文地址:/read/augushong/ul-disk/zh-cn/1.0.0/6a3e73c598601/6a3e73d90f708.html
原文平台:奥宏文档
1.0.0