Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 2.43 KB

0044-wildcard-subdomain-resolution.md

File metadata and controls

48 lines (35 loc) · 2.43 KB

44. 泛域名解析

Date: 2017-08-25

Status

Accepted

Context

随着会找房平台第三方公寓的入驻,我们需要手动添加大量的公寓二级域名于 DNS 中,如,ayk.huizhaofang.com, jingyu.huizhaofang.com 等。

  1. 整个流程依赖域名管理者;
  2. DNS 管理控制台维护这些记录很麻烦,并将原有专用域名淹没在大量记录中;
  3. 网站做了前后端分离,起始页永远返回状态为 200 的页面。

Decision

  1. DNS 记录添加泛解析;
  2. Nginx server name 添加泛解析;
  3. 不受约束的泛解析,会使所有子域名返回状态为 200 的页面,导致搜索引擎降权;
  4. 使用 include /path/to/server_names; 可以通过独立的文件解决此问题,并可对新添加的子域名做 code review;
  5. 上面的方案需要每次更改后做 nginx reload;有个想法是通过 lua 从 redis 中获取支持的子域名,进行判断并过滤;

Consequences

  1. include 方案:当前最简单,且有审核机制,但运维参与较重,需经常重启 nginx;
  2. lua + redis 方案:
    • 每次请求需查询 redis;
    • 需做一个对应的管理系统进行子域名的管理。

Refs: