EPP 是什么
EPP(Extensible Provisioning Protocol,RFC 5730 系列)是域名注册局与注册商之间的标准接口:用 XML 请求-响应完成域名、主机与联系人的创建、查询、续费、转移与删除。它取代了早期的 RRP,被 gTLD 与大量 ccTLD 注册局采用。IANA 为它登记了 TCP 700 端口,生产环境多数直接用 TLS 封装在注册局指定的其它端口上。
基本信息
| 服务 | epp(Extensible Provisioning Protocol) |
|---|---|
| 协议 | TCP 700(IANA 登记,UDP 亦有登记) |
| 规范 | RFC 5730~5734 系列 |
| 传输形态 | 裸 TCP 700 或注册局自定的 TLS 端口 |
| 安全等级 | 仅注册商与注册局之间,禁止外部访问 |
典型使用场景
- 注册商系统对接注册局:域名注册、续费、转入转出的人工与自动操作
- 批量业务:域名抢注、批量续费时按注册局限流要求排队提交
- 同步核对:定期从注册局拉取域名状态与到期时间做账实核对
- 排障:命令返回错误码时按注册局文档区分客户端语法与服务器状态
- 安全评估:确认注册局侧只接受注册商白名单来源的连接
探测与排障入口
探测与排障入口
nc -vz -w3 epp.registry.example 700 # 端口可达性
openssl s_client -connect epp.registry.example:700 -servername epp.registry.example </dev/null
# EPP 登录报文结构(登录后服务器返回 greeting)
# <?xml version="1.0"?><epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
# <command><login><clID>registrar</clID>...</login></command></epp>对接时的常见形态
| 形态 | 说明 | 注意点 |
|---|---|---|
| 裸 TCP 700 | IANA 登记端口 | 明文 XML,仅适合受控内网或专线 |
| TLS 封装端口 | 注册局指定的加密端口 | 以注册局规范为准 |
| 测试环境 OT&E | 上线前的验证环境 | 与生产环境地址严格区分 |
| 限流与重试 | 注册局按命令类型限速 | 重试要幂等,避免重复注册 |
对接注册局前先申请生产与测试(OT&E)环境,把配置项分开管理;限流与事务重试策略要按注册局规范实现,不能只依赖应用层的通用重试。
EPP 会话对命令序号与状态机敏感:网络断开后盲目重放同一命令,可能得到重复执行或状态冲突的结果,重连逻辑必须与会话建立、greeting 解析配合实现。