跳转到主要内容

用泛域名转发多个子域名

用一条 HTTP(S) 隧道规则匹配并转发同一后缀下的多个子域名

泛域名规则用一条 HTTP(S) 隧道接收同一后缀下的多个子域名。例如 *.proxy.com 可让 a.proxy.com、b.proxy.com 等转发到同一目标。

配置步骤

  1. 在 DNS 服务商添加 *.proxy.com 的 A/AAAA 记录,指向 NPS 服务端。
  2. 在 Web 管理新增 HTTP(S) 隧道,把“域名”填写为 *.proxy.com。
  3. 填写目标地址;如使用 HTTPS,配置覆盖这些子域名的通配符证书和私钥。
  4. 另行创建 proxy.com 规则,因为 *.proxy.com 不包含根域名本身。

NPC 配置文件示例:

[wildcard_site]
host=*.proxy.com
target_addr=127.0.0.1:8080

泛域名只负责选择 NPS 转发规则。后端仍会收到访问者请求的具体 Host;如果后端只接受固定主机名,可配合改写后端 Host 。

安全边界

当前泛域名按配置中 * 之外的域名片段进行包含匹配,不是严格的 DNS 标签匹配。不要使用过短或过宽的规则,并在 NPS 前的反向代理、防火墙或后端再次限制允许的 Host。对需要隔离的站点,应使用精确域名规则。

通配符证书通常只覆盖一级子域名,例如 *.proxy.com 不覆盖 a.b.proxy.com。部署后至少验证一个预期子域名、根域名和一个不应命中的 Host,确认不会把未知域名转发到内网默认站点。