顶级域名免费获取与产品验证封面图

顶级域名怎么免费获取,特别适用于做产品验证

面向产品验证的免费域名获取实操:申请 EU.org、创建 Duck DNS、使用 sslip.io,完成 DNS 解析、HTTPS 与回调地址验证。

文档维护:MatrixIDC 1 人阅读

先选一条能马上跑通的路径

做产品验证时,最怕的不是没有服务器,而是前端、回调地址、Webhook、OAuth 登录和接口域名全都临时拼 IP。测试人员很难记,第三方平台也常常要求填一个 HTTPS 地址。下面按三条能立即执行的路径写:申请 name.eu.org、创建 name.duckdns.org,或直接使用 IP.sslip.io。先拿到一个可访问的地址,再把它接到测试环境。

  • 想拿一个可长期使用的公开地址:走 EU.org。
  • 想今天就完成域名解析:走 Duck DNS。
  • 不注册、不等审核,只做一次临时联调:走 sslip.io。

这三种方式都能用于产品原型、落地页、演示环境、接口联调和回调验证。正式环境要继续沿用时,再把地址、DNS 和证书配置写进项目部署文档。

路径一:申请 name.eu.org

EU.org 提供免费的域名注册服务。申请前先准备一个你要使用的名称,例如产品叫 ProductLab,可以申请 productlab.eu.org。名称一旦提交,后续 DNS、HTTPS 和服务地址都围绕它配置。

1. 注册 EU.org 账号

  1. 打开 EU.org 注册入口
  2. 选择创建账号,填写可正常收邮件的邮箱、姓名和联系信息。
  3. 打开确认邮件,完成账号验证,再登录管理界面。

账号信息用于处理域名申请和联系通知。邮箱不可用时,后续无法确认申请状态,也无法接收域名管理通知。

2. 先拿到两个 DNS 服务器地址

EU.org 在申请时会要求填写权威 DNS。先在一个 DNS 托管服务中创建站点,例如 Cloudflare 的免费 DNS:

  1. 登录 DNS 托管服务,添加站点名称 productlab.eu.org
  2. 选择免费套餐或免费 DNS 托管。
  3. 记录系统分配的两条 Nameserver,例如 xxx.ns.cloudflare.comyyy.ns.cloudflare.com
  4. 不要先填写 A 记录;先把这两条 Nameserver 留给 EU.org 的申请表。

不同 DNS 服务商分配的 Nameserver 名称不同,申请表必须填控制台实际显示的两条,不能照抄示例。

3. 提交域名申请

  1. 回到 EU.org 管理界面,进入新增域名或提交请求页面。
  2. 在域名栏填写 productlab.eu.org
  3. 在 Nameserver 位置填入刚才记录的两条权威 DNS。
  4. 核对邮箱和申请信息,提交请求。

EU.org 会处理这条申请。通过后,productlab.eu.org 的 DNS 控制权就落在你刚才添加的 DNS 服务商里。

4. 给产品验证环境添加解析

申请生效后,回到 DNS 控制台添加 A 记录:

  • 类型:A
  • 主机名:@
  • 内容:你的 VPS 公网 IPv4
  • TTL:Auto 或默认值
  • 代理:首次联调时设为“仅 DNS”,便于直接定位问题

如果产品需要单独的演示地址,再增加这些记录:

  • demo 指向演示环境的 IP;
  • api 指向接口服务的 IP;
  • webhook 指向回调接收服务的 IP。

在 Windows PowerShell 中验证解析:

nslookup productlab.eu.org
nslookup api.productlab.eu.org

返回的地址与 VPS 公网 IP 一致,再继续配置 Web 服务和 HTTPS。

路径二:用 Duck DNS 当天拿到可用地址

Duck DNS 的特点是创建后即可得到一个 xxx.duckdns.org 地址,适合当天演示、接口测试和动态 IP 的测试机器。

1. 创建 Duck DNS 子域名

  1. 打开 Duck DNS,使用页面提供的登录方式进入控制台。
  2. 在 Domains 输入框填写名称,例如 productlab-demo
  3. 点击添加,得到 productlab-demo.duckdns.org
  4. 在当前域名行确认控制台识别出的 IPv4;不是你的测试服务器 IP 时,手动更新为 VPS 的公网 IP。

创建完成后,在 PowerShell 验证:

nslookup productlab-demo.duckdns.org

2. 让地址跟着动态 IP 更新

测试机的公网 IP 会变化时,把 Duck DNS 的更新地址放进计划任务或部署脚本。先在控制台复制当前域名对应的 Token,再把占位符替换成自己的值:

curl "https://www.duckdns.org/update?domains=<子域名前缀>&token=<控制台Token>&ip="

domains 只写 productlab-demo,不写 .duckdns.orgip 留空时由 Duck DNS 识别请求出口的 IPv4;服务器有多个出口或需要指定地址时,把目标 IPv4 写在 ip= 后面。

不要把 Token 放进前端代码、公开仓库、截图或公开工单。它能修改该 Duck DNS 地址指向的 IP。

路径三:用 sslip.io 零注册生成测试地址

sslip.io 不需要创建账号。它把 IP 地址写进主机名,DNS 会把这个主机名解析回该 IP。假设 VPS 公网 IPv4 是 203.0.113.10,可直接使用:

203-0-113-10.sslip.io

也可以在前面加产品标识:

demo.203-0-113-10.sslip.io

验证命令:

nslookup demo.203-0-113-10.sslip.io

把示例 IP 换成你自己的真实公网 IP。这个方法特别适合先确认“域名、反向代理、HTTPS、接口服务”这条链路是否工作,再决定是否申请一个长期使用的名称。

域名拿到后,把它接进产品验证环境

域名解析成功只代表 DNS 已经能找到服务器。要让产品真正可测,还需要把请求转给应用,并打开 HTTPS。

1. 开放必要端口

服务器安全组和系统防火墙都要放行:

  • 80:HTTP 验证和证书申请;
  • 443:HTTPS 访问;
  • 22:仅用于 SSH 管理,不提供给产品用户。

刚开通 VPS 时,可先完成 新 VPS 开通与连接,再按 Linux SSH 登录与首次操作 进入服务器。需要一台长期在线、可独立分配 IPv4 的测试机器时,可从 MatrixIDC 选择合适的 VPS 配置。

2. 用 Caddy 把域名转到应用端口

假设你的产品服务运行在 127.0.0.1:3000,编辑 Caddyfile:

demo.203-0-113-10.sslip.io {
    reverse_proxy 127.0.0.1:3000
}

把第一行替换成实际获得的域名,例如 productlab.eu.orgproductlab-demo.duckdns.org。保存后检查并重载:

sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

DNS 已经指向服务器、80 和 443 可从公网访问时,Caddy 会为该地址申请并续期 HTTPS 证书。部署前先保证应用本身在服务器上能返回内容:

curl http://127.0.0.1:3000/health

如果应用没有 /health,换成它真实存在的健康检查或首页路径。

3. 把域名填进真实验证项

拿到 HTTPS 地址后,不要只在浏览器里打开首页。按产品验证的关键入口逐项替换:

  • 前端环境变量:将 API 基地址改成 https://api.productlab.eu.org
  • Webhook:将回调地址改成 https://webhook.productlab.eu.org/callback
  • OAuth:在第三方平台后台登记 https://demo.productlab.eu.org/auth/callback
  • 移动端或小程序:使用 HTTPS 域名代替临时 IP;
  • 演示页面:让测试同事通过 https://demo.productlab.eu.org 访问同一套环境。

每改一项,保留一次可复现的验证记录:请求 URL、返回状态码、时间和应用日志。这样 DNS、证书、反向代理和业务接口出问题时,能立刻判断故障落在哪一层。

从拿到地址到通过产品验证:按这个顺序检查

一个地址能在浏览器打开,并不代表所有产品入口都已经可用。产品验证时按下面的顺序执行,排查速度最快。

第一步:确认 DNS 指向的是当前服务器

在本机执行:

nslookup <你的域名>

返回的 IPv4 必须是当前 VPS 的公网地址。不是时,不要先重装应用;回到 DNS 控制台检查 A 记录的主机名和 IP。刚修改记录后,继续使用 nslookup 复查,不需要凭浏览器缓存判断解析结果。

第二步:确认服务器能接收公网请求

在服务器本机检查应用与反向代理:

sudo systemctl status caddy
curl -I http://127.0.0.1:3000/
sudo ss -lntp | grep -E ':80|:443|:3000'

第一条确认 Caddy 已运行;第二条确认应用端口能返回 HTTP 响应;第三条确认 80、443 和应用端口确实处于监听状态。应用监听在 127.0.0.1 是正常的,公网流量由 Caddy 接收后再转发给它。

第三步:确认 HTTPS 和证书名称一致

在浏览器无痕窗口访问:

https://<你的域名>/

地址栏必须显示 HTTPS,证书名称要与正在访问的域名一致。比如 Caddyfile 写的是 demo.productlab.eu.org,就用这个完整地址访问;只访问 productlab.eu.org 不会自动命中另一个子域名的站点配置。

第四步:用产品的真实路径发一次请求

不要只测首页。把实际会被客户端调用的地址放进命令中:

curl -i https://<你的域名>/health
curl -i https://<你的域名>/api/version

第一条可替换为健康检查路径,第二条替换为项目真正对外的 API。200301302401403 都能说明请求已经抵达应用或网关;502 说明反向代理没有连上应用端口;连接超时则回到安全组、系统防火墙和端口监听检查。

第五步:最后才提交第三方回调地址

OAuth、支付回调、消息机器人和 SaaS Webhook 通常会主动访问你填写的 URL。先用浏览器或 curl 验证 HTTPS,再把精确路径填进第三方后台,例如:

https://webhook.productlab.eu.org/provider/callback
https://demo.productlab.eu.org/auth/callback

提交后立刻在应用日志中观察一次真实回调。请求到了但验签失败,是应用配置问题;后台提示地址无法访问,优先检查域名解析、443 端口和证书。

一次产品验证结束后,保留这些记录

测试环境最有价值的不是临时地址本身,而是下一次能快速复现的部署信息。把以下内容写进项目 README、内部交接文档或密码管理工具的安全备注中:

  • 使用的域名和 DNS 托管位置;
  • VPS 公网 IP、系统版本和 SSH 登录方式;
  • Caddyfile 或 Nginx 站点配置所在位置;
  • 应用监听端口、启动命令和健康检查路径;
  • OAuth、Webhook、支付和第三方平台填写过的回调 URL;
  • Duck DNS Token 的保存位置,以及用于更新 IP 的计划任务名称。

这样下次更换服务器、扩容测试环境或把演示地址交给同事时,不必重新猜测哪一个子域名指向哪一台机器。停用时也可以逐项清理:先替换第三方回调,再关闭应用服务,最后删除 DNS 记录。

三种方式怎么选

  • 要一个名称稳定、可继续用于产品演示和项目文档的地址:申请 name.eu.org
  • 要在当天拉起测试环境,并接受 duckdns.org 后缀:用 Duck DNS。
  • 只想快速验证服务器与 HTTPS 链路,不想注册和配置 DNS:用 sslip.io。

一个实际可执行的顺序是:先用 sslip.io 让服务返回内容;再用 Duck DNS 完成一天内的多人联调;需要固定名称时,提交 EU.org 并把正式的测试环境迁过去。整个过程中,域名只是入口,真正决定产品验证能否通过的是 DNS 指向、80/443 可访问、证书签发、反向代理和业务回调地址五项都连通。

一个下午完成产品验证的最短流程

如果目标是尽快让产品、测试同事和第三方平台访问同一套环境,直接按这个顺序执行即可:

  1. 开一台带公网 IPv4 的 VPS,部署应用并先确认 curl http://127.0.0.1:3000/ 有返回;
  2. 把 VPS 的公网 IP 写成 sslip.io 地址,例如 demo.203-0-113-10.sslip.io
  3. 在 Caddyfile 中填入该域名并反向代理到 127.0.0.1:3000
  4. 用浏览器访问 HTTPS 地址,确认页面或 /health 返回正常;
  5. 用 Duck DNS 创建一个易记的临时地址,给测试人员、Webhook 和 OAuth 回调使用;
  6. 当验证环境需要固定名称时,再把 eu.org 申请地址接入同一台服务器。

这条流程把“服务能否运行”和“域名是否长期保留”拆开处理:第一步先让真实业务可访问,后面再替换地址。换域名时,只需修改 DNS、Caddyfile 和外部平台中的回调 URL,应用端口与业务数据无需重建。

常见问题

为什么 nslookup 有结果,浏览器还是打不开?

DNS 已正确解析不代表 Web 服务已经启动。依次检查安全组、系统防火墙、Caddy 或 Nginx 状态、应用监听端口,以及反向代理中的目标地址。先在服务器本机执行 curl http://127.0.0.1:应用端口/,再从公网访问域名。

HTTPS 证书为什么申请失败?

证书验证需要从公网访问域名对应服务器的 80 或 443 端口。确认域名解析到当前 VPS、端口没有被防火墙拦截、Caddyfile 中的域名拼写和实际访问地址完全一致,再重载 Caddy。

产品验证结束后还要保留域名吗?

保留仍会被用于演示、回归测试、Webhook 或 OAuth 回调的地址;停用项目时,先删除第三方平台中的回调地址、关闭不再使用的服务,再清理 DNS 记录和服务器上的站点配置。这样测试入口不会变成无人维护的公开服务。

可引用结论

产品验证不必先购买商业域名:name.eu.org 适合申请固定名称,name.duckdns.org 适合快速上线,IP.sslip.io 适合零注册验证。无论选择哪一条路径,先验证 DNS、HTTPS 和业务回调,再把地址交给测试人员和第三方平台。

参考服务:EU.orgDuck DNSsslip.io