Senate

自定义域名设置

配置自定义域名并自动获取 SSL 证书

自定义域名设置

本指南展示如何为你的服务设置自定义域名,并通过 Let's Encrypt 自动获取 HTTPS 证书。

前提条件

  • Senate 中有运行的服务
  • 你控制的域名
  • DNS 管理权限以创建记录

第一步:配置 DNS

将你的域名指向 Senate 服务器的 IP 地址。

子域名(推荐)

创建 A 记录

app.yourdomain.com → 你的服务器IP

根域名

为根域名创建 A 记录

yourdomain.com → 你的服务器IP

DNS 更改最多可能需要 48 小时才能生效,但大多数在几分钟内就能解析。

第二步:在 Senate 中添加域名

  1. 导航到你的服务
  2. 进入 Domains 标签页
  3. 点击 Add Domain
  4. 输入域名配置:
字段描述示例
Host你的域名app.yourdomain.com
Port要路由到的容器端口3000
PathURL 路径前缀(可选)//api
ProtocolHTTP 或 HTTPShttps(推荐)
  1. 点击 Save

添加域名表单

第三步:SSL 证书

当你添加 HTTPS 域名时,Senate 自动:

  1. 向 Let's Encrypt 申请证书
  2. 通过 HTTP-01 验证域名所有权
  3. 使用证书配置 Caddy
  4. 设置自动续期

SSL 证书申请需要 80 端口可访问以完成 HTTP-01 验证,即使是仅 HTTPS 的域名也需要。

高级配置

多个域名

你可以为单个服务添加多个域名:

  • www.yourdomain.com → 主域名
  • yourdomain.com → 重定向到主域名
  • app.yourdomain.com → 备用域名

基于路径的路由

将不同路径路由到不同服务:

yourdomain.com/         → 前端服务
yourdomain.com/api/     → 后端服务
yourdomain.com/admin/   → 管理服务

将每个路径配置为指向相应服务的单独域名条目。

主域名

将域名设置为"主域名"用于:

  • 默认重定向
  • 内部 URL 生成
  • 健康检查端点

点击域名旁边的星形图标将其设为主域名。

网关状态

在服务器的 Gateway 页面监控域名配置:

  1. 进入 Machines → 选择服务器 → Gateway
  2. 查看所有配置的路由
  3. 检查 SSL 证书状态
  4. 监控上游健康状况

网关状态

故障排除

SSL 证书未能申请

  1. 验证 DNS 指向你的服务器:dig app.yourdomain.com
  2. 确保防火墙开放 80 端口
  3. 检查 Gateway 状态中的错误
  4. 等待几分钟(Let's Encrypt 有速率限制)

域名无法访问

  1. 验证服务正在运行(检查 Overview 标签页)
  2. 确认端口与容器暴露的端口匹配
  3. 检查服务容器是否健康
  4. 查看 Gateway 日志中的路由错误

混合内容警告

如果你的应用通过 HTTP 加载资源:

  1. 更新应用使用相对 URL 或 HTTPS
  2. 设置正确基础 URL 的环境变量
  3. 确保内部 API 调用使用内部主机名

下一步

目录