自定义域名设置
配置自定义域名并自动获取 SSL 证书
自定义域名设置
本指南展示如何为你的服务设置自定义域名,并通过 Let's Encrypt 自动获取 HTTPS 证书。
前提条件
- Senate 中有运行的服务
- 你控制的域名
- DNS 管理权限以创建记录
第一步:配置 DNS
将你的域名指向 Senate 服务器的 IP 地址。
子域名(推荐)
创建 A 记录:
app.yourdomain.com → 你的服务器IP根域名
为根域名创建 A 记录:
yourdomain.com → 你的服务器IPDNS 更改最多可能需要 48 小时才能生效,但大多数在几分钟内就能解析。
第二步:在 Senate 中添加域名
- 导航到你的服务
- 进入 Domains 标签页
- 点击 Add Domain
- 输入域名配置:
| 字段 | 描述 | 示例 |
|---|---|---|
| Host | 你的域名 | app.yourdomain.com |
| Port | 要路由到的容器端口 | 3000 |
| Path | URL 路径前缀(可选) | / 或 /api |
| Protocol | HTTP 或 HTTPS | https(推荐) |
- 点击 Save

第三步:SSL 证书
当你添加 HTTPS 域名时,Senate 自动:
- 向 Let's Encrypt 申请证书
- 通过 HTTP-01 验证域名所有权
- 使用证书配置 Caddy
- 设置自动续期
SSL 证书申请需要 80 端口可访问以完成 HTTP-01 验证,即使是仅 HTTPS 的域名也需要。
高级配置
多个域名
你可以为单个服务添加多个域名:
www.yourdomain.com→ 主域名yourdomain.com→ 重定向到主域名app.yourdomain.com→ 备用域名
基于路径的路由
将不同路径路由到不同服务:
yourdomain.com/ → 前端服务
yourdomain.com/api/ → 后端服务
yourdomain.com/admin/ → 管理服务将每个路径配置为指向相应服务的单独域名条目。
主域名
将域名设置为"主域名"用于:
- 默认重定向
- 内部 URL 生成
- 健康检查端点
点击域名旁边的星形图标将其设为主域名。
网关状态
在服务器的 Gateway 页面监控域名配置:
- 进入 Machines → 选择服务器 → Gateway
- 查看所有配置的路由
- 检查 SSL 证书状态
- 监控上游健康状况

故障排除
SSL 证书未能申请
- 验证 DNS 指向你的服务器:
dig app.yourdomain.com - 确保防火墙开放 80 端口
- 检查 Gateway 状态中的错误
- 等待几分钟(Let's Encrypt 有速率限制)
域名无法访问
- 验证服务正在运行(检查 Overview 标签页)
- 确认端口与容器暴露的端口匹配
- 检查服务容器是否健康
- 查看 Gateway 日志中的路由错误
混合内容警告
如果你的应用通过 HTTP 加载资源:
- 更新应用使用相对 URL 或 HTTPS
- 设置正确基础 URL 的环境变量
- 确保内部 API 调用使用内部主机名