up.railway.app 地址适合测试,正式上线最好绑自己的域名。Railway 会自动签发和续期 SSL 证书,不用自己管。
一、先看套餐限制
| 套餐 | 自定义域名数量 |
|---|---|
| 试用 | 1 个 |
| Free | 不支持 |
| Hobby | 每个服务 2 个 |
| Pro | 每个服务 20 个,可申请提高 |
example.com 和 www.example.com 算两个域名。试用期只有 1 个名额,两个都要就得升级 Hobby。
二、在 Railway 添加域名
- 进入服务的 Settings → Public Networking;
- 点 + Custom Domain,输入域名,比如
app.example.com; - 选择域名要指向的端口(应用只监听一个端口时会自动选好);
- 页面给出两条 DNS 记录:一条 CNAME(形如
xxxx.up.railway.app),一条 TXT(验证所有权)。
三、到 DNS 服务商添加记录
两条记录都要加,缺了 TXT 记录,即使 CNAME 已经生效,访问也会返回 404。
用 Cloudflare 的话:
- 在 DNS → Records 分别添加 CNAME 和 TXT,名称和值照抄 Railway 给的;
- 根域名(
example.com)可以直接加 CNAME,Cloudflare 会自动做 CNAME 展平; - 开着橙色云(代理)时,SSL/TLS 模式要设为 Full,否则可能出现重定向循环。Railway 检测到 Cloudflare 代理时会显示
Cloudflare proxy detected。
四、等待验证
记录生效后,Railway 的域名旁边会出现绿色对勾,SSL 证书同时签发。DNS 传播最长可能要 72 小时,通常几分钟到一小时。
五、常见问题
- 看不到 Generate Domain / Custom Domain 按钮: 服务开过 TCP 代理,需要先删掉 TCP 代理。
- 一直验证不过: 检查 TXT 记录的名称有没有多写一遍根域名(有些服务商会自动补全)。
- 通配符域名: 需要额外加
_acme-challenge的 CNAME,并且这条记录在 Cloudflare 上不能开代理。
打开 Railway 后台绑定域名 → 试用期可以绑 1 个,Hobby 每个服务 2 个。