RECORD · TOPOLOGY & CERTIFICATES

端口拓扑与证书台账

这三段是品牌掉头时顺手把生产机勘查了一遍的结果:单台反向代理往后扇出多少组 upstream、每个服务在新旧两个域上各返回什么、每张证书扩容了哪些新域,以及迁移做完了几项。它们是实测记录,不是叙事材料,所以落在这一页。

C · PORT TOPOLOGY

单台 nginx 扇出 12 组 upstream

2026-07-30 实测。nginx 1.28.1 · 18 个生效 conf,全部 listen 172.31.19.46:80 + :443 ssl。Gitea 以红色虚线单独标注,永久不迁移。

生产端口拓扑:客户端 → DNS → nginx → 各 upstream客户端经 HTTPS 到达 Namecheap 托管的 probatlas.com 通配符解析,指向 54.206.197.2 的单台 nginx 1.28.1;nginx 的 18 个生效 conf 全部监听 172.31.19.46 的 80 与 443,向后分流到 12 组 upstream。Gitea 以红色虚线单独标注,永久留在 gitea.reits.tech,不迁移到新域。CLIENTDNSREVERSE PROXYUPSTREAM · 172.31.19.46浏览器 / WebHTTPS 443iOS / 小程序bundle ID 冻结NAMECHEAPprobatlas.comA @ · A *(通配符)→ 54.206.197.2ap-southeast-2nginx 1.28.118 个生效 conflisten 172.31.19.46:80 + :443 sslserver_name 双域并行已显式 default_server未匹配 Host → 444资讯门户 Next.js/vinextreits.tech · probatlas.com127.0.0.1:3003BBS NodeBBbbs.reits.tech · bbs.probatlas.com127.0.0.1:4567统一认证auth.reits.tech · auth.probatlas.com127.0.0.1:8095预约平台 C 端 / B 端order · orderadmin(双域)127.0.0.1:3210IM 核心 APIapi.reits.tech · api.probatlas.com18080 / 18081 / 3210 / 8081小程序开放平台openapi(双域)+ portal-web/dist18080 / 8081 / 8090 / 8095开发者门户(本站)developer.reits.tech · developer.probatlas.com127.0.0.1:8100Workerworker(双域)· 401 需鉴权127.0.0.1:8080日志面板log(双域)· 401 需鉴权127.0.0.1:3300EQ 静态站 / 静态预览eq(双域)· static-preview 保留旧域static /var/wwwGitea 代码托管 · 不迁移gitea.reits.tech(永久留守,无新域 SAN)127.0.0.1:3002
nginx 反向代理(双域并行 server_name)应用 upstream(新旧双域均已接入)静态资源目录永久留守 reits.tech,不迁移
生效 conf 的服务、双域、upstream 与证书 lineage 实测对照(探测状态即当前真实返回码)。本表逐行列出 2026-07-30 勘查时的 16 个业务 conf;其后同日的 nginx layer batch 2 又加入 00-upstreams.conf(12 组 upstream 的 连接池)与 zz-default-server.conf(显式 catch-all,未匹配 Host 一律 444),使生效 conf 由 16 增至 18 —— 这两个文件不承载对外服务,故不占本表行。
服务旧域 reits.tech新域 probatlas.comnginx confUpstream证书 lineage状态
资讯门户 (Next.js/vinext)reits.tech, wwwprobatlas.com, wwwreits-info-portal.conf127.0.0.1:3003reits.tech(已含新域 4 SAN)200
BBS (NodeBB)bbsbbsreits-bbs.conf127.0.0.1:4567bbs.reits.tech(已含新域)200
IM 核心 APIapiapiim-core-api.conf18080 / 18081 / 3210 / 8081api.reits.tech(已含新域)证书 OK · / 本就 404
统一认证authauthreits-auth.conf127.0.0.1:8095auth.reits.tech(已含新域)证书 OK · / 本就 404
预约平台 C 端orderorderreits-order.conf127.0.0.1:3210order.reits.tech(已含新域)200
预约平台 B 端orderadminorderadminorderadmin.reits.tech.conf127.0.0.1:3210orderadmin.reits.tech(已含新域)200
小程序开放平台openapiopenapiopenapi-reits-tech.conf18080 / 8081 / 8090 / 8095 + portal-web/distopenapi.reits.tech(已含新域)200
开发者门户(本站)developerdeveloperdeveloper-reits-tech.conf127.0.0.1:8100 (vinext)developer.reits.tech(已含新域)200
Workerworkerworkerreits-worker.conf127.0.0.1:8080worker.reits.tech(已含新域)401 · 需鉴权,预期
EQ 静态站eqeqeq-reits-tech.confstatic /var/www/eqeq.reits.tech(已含新域)200
日志面板logloglog-reits-tech.conf127.0.0.1:3300log.reits.tech(已含新域)401 · 需鉴权,预期
静态预览static-preview未迁移reits-info-portal-static-preview.confstatic—保留旧域
Gitea 代码托管gitea不迁移(永久)reits.conf127.0.0.1:3002gitea.reits.tech(不含新域)200
Gitea 内网入口——gitea-tailscale.conf127.0.0.1:3002 · Tailscale 100.110.117.64:3000 / 127.0.0.1:3001—内网
观测 / 性能——00-reits-observability.conf, perf.confmap $host → service_name—需扩容新域 map

D · CERTIFICATES & DNS

12 张证书 lineage 已逐一扩容新域

方式:逐一 --expand 加入新域对应子域(apex 与 www 共用 reits.tech 一张,故 11 张 lineage 覆盖 12 个新域名);统一到期 2026-10-28;webroot /var/www/acme;deploy hook renewal-hooks/deploy/reload-nginx。

REGISTRAR
NamecheapA @ 与 A *(通配符)→ 54.206.197.2
PARKING CLEARED
已清除已清除默认停靠页记录:CNAME www → parkingpage、URL Redirect @
CERT LINEAGES
11 张统一到期 2026-10-28
RENEWAL HOOK
reload-nginxrenewal-hooks/deploy/reload-nginx
每张 lineage 与其新增的新域 SAN;gitea 是唯一不申请新域 SAN 的 lineage。
Lineage新增的新域 SAN到期
reits.techprobatlas.com, www.probatlas.com(共 4 SAN)2026-10-28
bbs.reits.techbbs.probatlas.com2026-10-28
api.reits.techapi.probatlas.com2026-10-28
auth.reits.techauth.probatlas.com2026-10-28
order.reits.techorder.probatlas.com2026-10-28
orderadmin.reits.techorderadmin.probatlas.com2026-10-28
openapi.reits.techopenapi.probatlas.com2026-10-28
developer.reits.techdeveloper.probatlas.com2026-10-28
worker.reits.techworker.probatlas.com2026-10-28
eq.reits.techeq.probatlas.com2026-10-28
log.reits.techlog.probatlas.com2026-10-28
gitea.reits.tech不申请新域 SAN(永久留守)2026-09-19(未扩容,保留原期)

D · MIGRATION STATE

迁移状态:6 项已完成,4 项待办

已完成的部分全部属于「立新」;待办的部分全部会改变旧域或旧语义,因此被推到 Phase 4 收尾。标 N/A 的项不在本机迁移范围。

DONE
probatlas.com DNS 解析

Namecheap A @ 与 A *(通配符)→ 54.206.197.2,停靠页记录已清除。

DONE
11 张证书 lineage 扩容

逐一 --expand,覆盖 12 个新域名(apex 与 www 共用 reits.tech 一张),统一到期 2026-10-28,webroot /var/www/acme。

DONE
证书自动续期 deploy hook

renewal-hooks/deploy/reload-nginx 在续期后 reload nginx。

DONE
nginx 双域并行监听

11 个业务 conf 加新域 server_name 别名,全部 listen 172.31.19.46:80 + :443 ssl;旧域行为零变化。

DONE
11 个服务新域连通性实测

各服务按既有鉴权语义响应:门户/BBS/order/orderadmin/openapi/developer/eq 返 200,api/auth 返 404,worker/log 返 401(均与旧域同码,非新增失败)。

N/A
media / assets 子域

本机无 media server 块,media.reits.tech 与 media.probatlas.com 均 000;媒体资产走 CloudFront + us-east-1 ACM,不在本机 nginx 迁移范围。

TODO
旧域 301 跳转

尚未开启。当前是双域并行 200,旧域行为零变化,属 Phase 4 收尾动作。

DONE
default_server catch-all

已补。zz-default-server.conf(自述 added 2026-07-30, nginx layer, batch 2)显式声明 default_server,nginx -T 中 default_server 出现 6 次;未匹配 Host / SNI 一律 444(关连接不回响应),实测 curl -H 'Host: nosuchhost.example.com' 得空回复、curl 退出码 52。此前是隐式落到 conf.d 加载序里第一个 80 监听块(developer),扫描器因此被喂 developer 手册并污染其访问日志。

TODO
观测 / 性能 map 扩容

00-reits-observability.conf 与 perf.conf 的 map $host → service_name 需加入新域。

TODO
static-preview 迁移

保留旧域,暂不迁移。

TODO
ProbAtlas 品牌换壳

Phase 2 尚未开始,全站文案与视觉仍是 REITs Tech。

PHASE 4 · NOT YET ARMED

旧域 301 尚未开启

Phase 1 的契约是「先立新不破旧」:新域全链路可用之前,旧域行为必须零变化。301 一旦开启就改变了旧域语义,属于 Phase 4 收尾动作。