name: railway-domain description: 添加、查看或移除Railway服务的域名。当用户想要添加域名、生成railway域名、检查当前域名、获取服务URL或移除域名时使用。 version: 1.0.0 author: Railway license: MIT tags: [Railway, 域名, DNS, URL, 自定义域名, 基础设施] dependencies: [railway-cli] allowed-tools: Bash(railway:*)
Railway域名管理
添加、查看或移除Railway服务的域名。
何时使用
- 用户询问“添加域名”、“生成域名”、“获取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提供商。
读取当前域名
使用railway-environment技能查看配置的域名,或直接查询:
query domains($envId: String!) {
environment(id: $envId) {
config(decryptVariables: false)
}
}
域名在config.services.<serviceId>.networking中:
serviceDomains- Railway提供的域名customDomains- 用户提供的域名
移除域名
使用railway-environment技能移除域名:
移除自定义域名
{
"services": {
"<serviceId>": {
"networking": {
"customDomains": { "<domainId>": null }
}
}
}
}
移除railway域名
{
"services": {
"<serviceId>": {
"networking": {
"serviceDomains": { "<domainId>": null }
}
}
}
}
然后使用railway-environment技能应用并提交更改。
CLI选项
| 标志 | 描述 |
|---|---|
[DOMAIN] |
要添加的自定义域名(省略以生成railway域名) |
-p, --port <PORT> |
连接端口 |
-s, --service <NAME> |
目标服务(默认为链接的服务) |
--json |
JSON输出 |
可组合性
- 读取域名:使用railway-environment技能
- 移除域名:使用railway-environment技能
- 应用移除:使用railway-environment技能
- 检查服务:使用railway-service技能
错误处理
无服务链接
未链接服务。使用--service标志或运行`railway service`选择一个。
域名已存在
服务已有一个railway提供的域名。每个服务最多1个。
无部署
服务无部署。首先使用`railway up`部署。
无效域名
无效域名格式。使用有效域名如“example.com”或“api.example.com”。