SuperAPI AI 工具集

domain

部署与运维

查看项目

更新于 10-15 14:02

技能介绍

用途

Domain Management 技能用于管理 Railway 服务的域名,包括添加域名、生成 Railway 提供的域名、查看当前域名、获取服务 URL 以及移除域名。

何时使用

  • 用户要求“添加域名”“生成域名”“获取 URL”
  • 用户想要添加自定义域名
  • 用户询问“我的服务的 URL 是什么”
  • 用户想要移除域名

主要能力

添加 Railway 域名

生成 Railway 提供的域名(每个服务最多 1 个):

railway domain --json

针对特定服务:

railway domain --json --service backend

响应:返回生成的域名 URL。服务必须已有部署。

添加自定义域名

railway domain example.com --json

响应:返回所需的 DNS 记录:

{
  "domain": "example.com",
  "dnsRecords": [
    { "type": "CNAME", "host": "@", "value": "..." }
  ]
}

需告知用户将这些记录添加到其 DNS 提供商。

读取当前域名

使用 environment 技能查看已配置的域名,或直接查询:

query domains($envId: String!) {
  environment(id: $envId) {
    config(decryptVariables: false)
  }
}

域名位于 config.services.<serviceId>.networking:

  • serviceDomains - Railway 提供的域名
  • customDomains - 用户提供的域名

移除域名

使用 environment 技能移除域名:

移除自定义域名:

{
  "services": {
    "<serviceId>": {
      "networking": {
        "customDomains": { "<domainId>": null }
      }
    }
  }
}

移除 Railway 域名:

{
  "services": {
    "<serviceId>": {
      "networking": {
        "serviceDomains": { "<domainId>": null }
      }
    }
  }
}

然后使用 environment 技能应用并提交变更。

CLI 选项

标志 描述
[DOMAIN] 要添加的自定义域名(省略则为 railway domain)
-p, --port <PORT> 要连接的端口
-s, --service <NAME> 目标服务(默认为已链接的服务)
--json JSON 输出

可组合性

  • 读取域名:使用 environment 技能
  • 移除域名:使用 environment 技能
  • 应用移除:使用 environment 技能
  • 检查服务:使用 service 技能

错误处理

  • 未链接服务:No service linked. Use --service flag or run railway service to select one.
  • 域名已存在:Service already has a railway-provided domain. Maximum 1 per service.
  • 无部署:Service has no deployment. Deploy first with railway up.
  • 无效域名:Invalid domain format. Use a valid domain like "example.com" or "api.example.com".

适用场景

适用于需要为 Railway 部署的服务配置访问地址、绑定自定义域名或清理域名的场景。

限制

  • 每个服务最多只能有 1 个 Railway 提供的域名。
  • 生成 Railway 域名要求服务必须已有部署。
  • 查看和移除域名需依赖 environment 技能。
  • 自定义域名需用户自行在 DNS 提供商处添加返回的 DNS 记录。