nginx通配域名怎么配置?,nginx泛解析如何设置?

nginx配置泛域名并不复杂,核心就在于server_name里写通配符.example.com,再配合DNS的泛解析记录,就能让任意子域名自动落到同一个虚拟主机或不同虚拟主机上。下面我把虚拟主机和泛解析的具体操作、匹配优先级、常用场景以及容易踩的坑一起说清楚。

先分清两个概念:泛解析和虚拟主机

泛解析(也叫泛域名解析)是在DNS层面做的事,你在域名解析控制台添加一条记录,指向服务器的IP地址,那么不管用户访问abc.example.com还是xyz.example.com,流量都会被送到同一台服务器,这条记录的生效时间通常在几分钟到几小时内,看你的DNS服务商,所谓“泛解析和泛绑定”,泛解析解决的是网络路由的问题,泛绑定解决的是nginx该如何响应这些请求。

15-基本使用-公网域名配置与泛域名解析实战
加载中
15-基本使用-公网域名配置与泛域名解析实战

虚拟主机(server块)才是nginx层面的概念,nginx收到请求后,根据Host字段来决定走哪个server块,你可以在同一台服务器上配置几十个server块,每个负责不同的域名或端口,nginx虚拟主机配置的核心就是server_name的匹配规则。

nginx泛域名解析怎么做

假设你的域名是example.com,想让所有子域名都走同一套配置,最简单的方式是这样:

server {
    listen 80;
    server_name .example.com example.com;
    root /var/www/example;
    index index.html;
}

注意server_name里同时写了.example.com和example.com,这样主域名和子域名都能命中,通配符nginx只支持一个,也就是只能匹配一级前缀,像.sub.example.com这样的是不支持的,需要单独写server块。

DNS泛解析配置步骤

在域名控制台添加一条A记录:

  • 主机记录填
  • 记录类型选A
  • 记录值填你的服务器公网IP
  • TTL默认即可

有些面板(比如宝塔)里还提供“泛解析”按钮,本质就是帮你填这条记录,配置完成后,用ping abc.example.com验证解析是否生效。

server_name的通配只匹配一层前缀

这点很多新手容易忽略。.example.com能匹配blog.example.com,但匹配不了a.b.example.com,后者需要另行配置一个带两层前缀的规则,如果你的业务涉及多级子域名,建议用默认server块做兜底。

nginx虚拟主机配置与泛绑定场景

虚拟主机的概念就是“一个nginx服务承载多个站点”,泛绑定则是指通过通配符把这些站点组合在一起,具体怎么选,取决于你的业务需求。

nginx通配域名怎么配置?,nginx泛解析如何设置?

泛解析指向同一个服务

适合SaaS平台、多租户系统、用户个人主页这类场景,所有子域名共享一份代码,但根据子域名前缀动态生成不同内容,例如user123.example.com展示用户123的页面,代码里通过解析Host来识别。

配置仍然是最简单的通配server块:

server {
    listen 80;
    server_name .example.com;
    ...
}

然后在后端(PHP、Python、Node等)里获取HTTP请求的Host字段做分发,PHP里用$_SERVER['HTTP_HOST']取出完整域名,再去掉主域后缀,就得到了子域名的前缀,逻辑上类似这样:

$host = $_SERVER['HTTP_HOST'];  // user123.example.com
$prefix = str_replace('.example.com', '', $host);  // user123

之后你想查数据库也好、读缓存也好,都是基于这个前缀来做,这套方案在nginx多站点配置里很常见,好处是新增子域名用户时,无需改动nginx,也无需重启服务。

泛解析到不同虚拟主机

另一种用法是,虽然DNS泛解析把流量都送到了服务器,但nginx根据不同的子域名前缀路由到不同的目录或不同端口。

思路是用正则匹配server_name:

server {
    listen 80;
    server_name ~^(?<sub>[a-z0-9]+).example.com$;
    root /var/www/$sub;
}

请求dev.example.com时,root自动变成/var/www/dev;请求blog.example.com时,root变成/var/www/blog,目录不存在则返回404,这种方案的优点是子域名和站点一一对应,适合明确知道有哪些子域名的场景。

nginx的server_name匹配规则有三个优先级,按顺序为:

  • 精确匹配(如blog.example.com)
  • 通配符匹配(如.example.com)
  • 正则匹配(如~^(?<sub>...))

当多个server块同时命中同一个请求时,nginx永远先走精确匹配,其次是通配符,最后才用正则,这个顺序直接影响你配置虚拟主机时的布局,所以记得把精确域名的server块单独拎出来。

让多个子域名指向同一套配置的两种写法

有几种写法可以达到类似效果,假设你要让a.example.com和b.example.com都指向同一个站点:

写法一,写在同一个server_name里:

server_name a.example.com b.example.com;

写法二,用正则简化表达:

server_name ~^(a|b).example.com$;

nginx通配域名怎么配置?,nginx泛解析如何设置?

如果你的子域名数量在变化、且你希望自动覆盖所有未列出的子域名,就是用.example.com做主配置,再加一个精确的server块处理主域名,如果子域名就固定两三个,那就别用通配,直接列出来更清晰、更安全。

泛域名配置中的常见问题

nginx泛解析导致主域名访问异常

不少人配置.example.com后发现example.com打不开,原因是通配符不匹配不带任何前缀的裸域名,所以你得把裸域名也一起写进server_name:

server_name example.com .example.com;

HTTPS证书和泛解析的冲突

通配符域名的证书就是.example.com,一张证书能覆盖主域名和所有一级子域名,但要注意,它覆盖不了二级子域名如a.b.example.com,申请泛域名证书时,多数CA机构(如Let’s Encrypt、DigiCert)要求验证域名所有权,流程跟普通证书不太一样,需要配置DNS TXT记录验证,如果你的子域名服务是动态新增的,建议在申请通配符证书时一并配置自动DNS验证,减少人工介入,泛解析后所有子域名都暴露了同一个IP,如果某个子域名涉及违规内容,整台服务器的风险会上升,这一点在服务器选址和备案规划时提前想好。

手机网站与泛解析的联合使用

常见的做法是做一个m.example.com的独立手机站,DNS泛解析已经让所有子域名都能访问到服务器,但nginx里可以给m.example.com单独配置一个server块,指定不同的root和入口文件,比如手机站走简洁模板、桌面站走完整功能,这种情况下,.example.com是兜底,精确的m.example.com优先级更高,请求会先命中手机站配置。

性能与安全层面的建议

泛解析本身几乎不影响nginx性能,因为server_name的匹配是在启动时编译成哈希表的,查找速度很快,但泛解析会带来一个隐患:恶意请求利用不存在的子域名对你的服务器发起海量访问,由于DNS已经返回了真实IP,流量会直接打到nginx上,行业共识认为,处理这类问题的常见手段是:

  • 在server块里加上限流配置(limit_req_zone)
  • 对不存在的子域名返回404或410
  • 配合WAF拦截异常Host头

由于泛解析绑定了所有子域名,检索引擎会同时收录大量子域名页面,如果某一批子域名页面内容为空或者高度重复,可能被判定为低质量页面,在nginx里为泛解析配置统一的robots规则,或者在应用层对无内容的子域名返回状态码,都是值得做的细节。

nginx通配域名怎么配置?,nginx泛解析如何设置?

宝塔面板里怎么配泛解析

用宝塔的站长不在少数,操作路径也简单:

  1. 在“网站”里添加站点,域名填.example.com,同时把example.com加进去
  2. 自动生成站点目录和配置文件
  3. 在DNS解析控制台添加的A记录,指向服务器IP
  4. 如果需要HTTPS,在宝塔的SSL证书里申请通配符证书,按提示配置DNS验证

宝塔的应用层逻辑一般已经处理好server块,你不需要手动编辑conf文件,但宝塔默认生成的配置里可能会有server_name的重复项,多个站点域名设置交叉时优先匹配顺序容易乱,建议同一台机器上的站点域名不要相互包含,就nginx泛域名解析这一块,动手实践一次基本就能掌握。

其实nginx配置通配域名的关键就三步:DNS加一条解析记录,server_name里写.example.com,后端按需解析子域名前缀,虚拟主机和泛解析配合得好,可以大幅减少配置维护量;配合不好,也容易引入域名匹配混乱和安全隐患,多花十分钟验证自己的匹配优先级,后面省下的时间远超这些。

泛域名解析配置中,server_name不生效是什么原因

最常见的原因有三个,第一,你只配了.example.com,但你访问的是example.com,裸域名不匹配,需手动补充,第二,nginx没有重新加载配置文件,配置完server块后要执行nginx -t检查语法,再systemctl reload nginx让配置生效,第三,配置里存在另一个更精确匹配的server块,把请求抢走了,用nginx -T可以查看当前生效的所有server配置,仔细核对每个server_name的覆盖范围。

nginx虚拟主机配置里,正则和通配符同时存在时谁优先

nginx虚拟主机的匹配顺序是精确匹配优先,然后通配符匹配,最后正则匹配,这意味着即使正则写在前面,通配符的server块也能优先生效,如果你的需求必须让某个正则规则优先,应该避免用通配符覆盖那个域名,改用精确域名配合正则来划分优先级。

配置了nginx泛解析之后,如何限制某些子域名不允许访问

在nginx server块里写一个精准匹配的拒绝策略即可,在.example.com的server块上一个虚拟主机配置泛解析,同时新增一个精确的forbidden.example.com的server块,内部返回403或444,利用精确匹配优先级的机制,将该特定子域名请求拦截下来,其它子域名不受影响。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/nginx%e9%80%9a%e9%85%8d%e5%9f%9f%e5%90%8d%e6%80%8e%e4%b9%88%e9%85%8d%e7%bd%ae%ef%bc%9f%ef%bc%8cnginx%e6%b3%9b%e8%a7%a3%e6%9e%90%e5%a6%82%e4%bd%95%e8%ae%be%e7%bd%ae%ef%bc%9f/

赞 (0)
mediatemple首月半价是真的吗,多少钱?
上一篇 2026年9月11日 19:13
Dynadot转入com域名8.15美元吗,域名转入哪便宜
下一篇 2026年9月11日 19:14

相关推荐

  • 领导开发团队如何高效管理?团队管理方法有哪些

    高效领导开发团队的核心在于建立标准化的工程实践与透明化的沟通机制,而非单纯依赖个人魅力或技术权威,一个优秀的研发团队,其产出应当是可预测、高质量且可持续迭代的,这要求管理者必须在架构设计、流程控制与人才培养三个维度上同时发力, 构建坚如磐石的技术架构与规范技术架构是团队协作的基石,混乱的代码库是导致团队效率低下……

    2026年3月3日
    14000
  • Android游戏开发书籍有哪些? | 2026年热门搜索书籍排行榜

    掌握Android游戏开发需要系统学习Java/Kotlin语言基础、游戏引擎原理和性能优化等核心知识,优秀的书籍能提供结构化路径、深入原理剖析和实战经验,以下精选书籍覆盖从零基础到进阶的不同阶段,助你高效构建引人入胜的移动游戏, 开发基石:语言与平台基础《第一行代码 Android 第3版》 (郭霖著):定位……

    2026年2月7日
    13200
  • 32G TensorFlow服务器多少钱,独享型负载均衡怎么配

    均衡型32G TensorFlow服务器搭配独享型负载均衡,月成本大致在千元级别,实际价格取决于云厂商定价、计费模式及地域选择,合理配置可将总费用控制在预算内,均衡型32G TensorFlow服务器多少钱?先算清这笔账很多人问“均衡型32G TensorFlow服务器多少钱”,其实答案不是固定数字,因为成本由……

    2026年8月7日
    700
  • 服务器配置要点_服务器配置

    服务器配置不是越贵越好,关键是匹配业务负载和预算,核心在于CPU、内存、存储和网络的平衡选择,服务器配置怎么选?核心参数与场景匹配CPU核心数与主频的权衡CPU是服务器运算的瓶颈,对于高并发Web服务,核心数多比主频高更重要,比如16核以上能同时处理更多请求,但游戏或科学计算这类场景,单核高频(如3.5GHz以……

    程序开发 2026年8月19日
    700
  • 百度云低价服务器怎么选,价格是多少?

    百度云低价服务器能不能用,答案是可以,但前提是你买对实例类型、选对计费方式,并且清楚低价背后砍掉的是哪部分资源,下面按价格、选型、场景、地域、实操五个层面拆开讲,看完可以直接对照自己的项目做判断,百度云服务器最低多少钱一个月,价格到底由哪几块组成很多人看到官网首页的“XX元起”就下单,账单出来发现翻了一倍,问题……

    程序开发 2026年10月24日
    100
  • 描述不正确的是?云计算发展趋势及前景分析

    在云计算日益普及的今天,服务器选型已成为企业数字化转型的核心环节,面对市场上琳琅满目的云服务商,许多用户往往被复杂的参数和营销话术所迷惑,为了帮助大家建立正确的认知框架,本文将从专业测评的角度,深入解析云计算的核心概念,并重点剖析关于云计算内容描述中常见的误区,同时结合2026年的最新市场动态,为您提供一份极具……

    程序开发 2026年6月6日
    3800
  • 云服务器真的可以改名称吗?,改名后会影响使用吗?

    云服务器可以改名称,而且随时都能改,无论你是想在阿里云、腾讯云还是华为云上重命名实例,控制台里几分钟就能搞定,改的只是显示标签,跟系统内部的主机名是两码事,很多人一上来就担心“改名会不会把服务器搞崩”,先别慌,往下看你就明白了,先搞清楚:云服务器改名到底改的是什么?在动手之前,得分清三个容易混淆的概念:实例名称……

    程序开发 2026年10月22日
    200
  • 智园开发有限公司怎么样?智园开发有限公司可靠吗?

    在当今竞争激烈的产业地产与城市更新领域,企业的核心竞争力已从单纯的土地开发转向全生命周期的产业运营服务,智园开发有限公司作为行业内的标杆企业,其成功模式证明了一个核心结论:现代产业园区开发的成功关键,在于构建“产业定位精准化、开发建设品质化、运营服务生态化”的三位一体闭环体系,从而实现土地价值、产业价值与企业价……

    2026年4月6日
    7400
  • mate 7开发者选项在哪,华为mate7如何打开开发者选项

    华为Mate 7作为一款经典的商务旗舰机型,其系统底层功能的合理配置对于提升用户体验至关重要,其中最核心的操作便是正确使用mate 7开发者选项,该选项默认处于隐藏状态,核心价值在于允许用户对系统进行高阶调试、优化运行速度以及管理后台进程,是解决手机卡顿、发热以及连接电脑传输数据的关键入口,掌握这一功能,能够将……

    2026年3月29日
    10200
  • net cad二次开发难吗?.net cad二次开发教程入门

    .NET CAD二次开发是实现工程设计自动化、提升企业核心竞争力的关键技术路径,其核心价值在于通过程序化手段将繁琐的绘图与计算工作转化为高效的自动化流程,从而彻底改变传统低效的设计模式,通过.NET技术对AutoCAD进行深度定制,企业能够构建专属的设计工具库,实现设计标准的强制执行与设计效率的指数级提升, 技……

    2026年3月24日
    25700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注