Nginx如何配置子域名的泛解析步骤

Web 服务器为 Nginx,希望配置泛子域名解析。 其实稍加修改,配置泛域名解析也不是难事。

不影响主域名,domain.com 和 www.domain.com 的 root 依然为 www 目录
子域名 sub.domain.com 的 root 希望放在 www-sub 目录下,其他子域名同理

解决及分析

在 Nginx 的配置文件中做如下配置(示意):

server {
    server_name
        domain.com
        www.domain.com
        *.domain.com
    ;

    set $subdomain '';
    if ($host ~* (b(?!wwwb).+).domain.com) {
        set $subdomain -$1;
    }

    root    /home/user/www$subdomain/;
}

解释:

首先,在定义 server_name 时使用通配符 * ,使 Nginx 接受任意子域名的访问。

然后,对 $host 进行分析,找到子域名的名称。 这个正则表达式是在网上抄的,目的是为了在匹配子域名的同时, 不匹配 www 开头的访问和不带 www 的访问。 前面的 set 是因为 Nginx 的 If 没有 Else,所以默认先将 $subdomain 置空。

最后,在定义 root 的时候,使用 $subdomain 变量。

现在泛解析配置成功了,我们就可以在服务器上配置很多二级域名的站点了。

时间: 2024-10-07 08:31:47

Nginx如何配置子域名的泛解析步骤的相关文章

centos7 Docker 局域网私有仓库v2 nginx https 配置

本次采用 VirtualBox 虚拟局域网环境,两台虚拟机均配置两块网卡,网卡1桥接模式,网卡2host-only模式 192.168.56.* 为host-only模式网卡IP 私有仓库主机IP 192.168.56.222 客户机IP 192.168.56.101 ssl证书从腾讯云免费申请 从腾讯云申请证书之后下载,得到文件docker.khs1994.com.zip #scp docker.khs1994.com.zip root@192.168.56.222:/root 上边这一命令是

配置Nginx子域名泛解析绑定至单独目录

  简单记录: 需求描述 Web 服务器为 Nginx,希望配置泛子域名解析. 其实稍加修改,配置泛域名解析也不是难事. 解决及分析 在 Nginx 的配置文件中做如下配置(示意): server { server_name domain.com www.domain.com *.domain.com ; set $subdomain ''; if ($host ~* (b(?!wwwb).+).domain.com) { set $subdomain -$1; } root /home/use

nginx将泛解析的匹配域名绑定到子目录配置方法_nginx

网站的目录结构为:  # tree /home/wwwroot/exehack.net /home/wwwroot/exehack.net ├── bbs │   └── index.html └── www     └── index.html 2 directories, 2 files /home/wwwroot/exehack.net为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径:www为主页程序源代码路径:把相应程序放入上面的路径通过:http://www

nginx泛解析里面如何在指定二级

问题描述 nginx泛解析里面如何在指定二级 我的域名在DNS解析里面设置了泛解析,因为我要解析这个域名的二级域名比较多,如果一个一个天津比较麻烦,所以用了泛解析.但是在nginx中如何这是我想那些二级域名能被访问到,我没有设置的二级域名访问时就无法访问,我的所有二级域名在这个文件里http://tianjinshi.foxdb.cc/sitemap.html ,除了这个文件的二级域名访问网站都显示无法访问,该如何处理呢?

Nginx服务器中location配置的一些基本要点解析_nginx

在这一篇文章里,我将介绍nginx关于location的处理,大家都知道Nginx配置文件里面会有很多的location,nginx的配置指令的作用域可以分为 main,server,location这3个种,实际上这3者不是依次包含的关系,而是相互独立的关系,比如一个只具有main级别作用域的指令,是不能写在某个server或者location内的,模块的某个指令可以同时具有main,server,location这3种作用域,另外每个模块有 main,srv,loc这3个级别的配置,一个模块

在Laravel5中使用子域名的配置

如本地虚拟主域名:www.learn-laravel.com,如需支持子域名,首先更改apache的httpd-vhost.conf配置,如下: <VirtualHost *:80>    DocumentRoot "/xampp/htdocs/laravelCMS/public/"     ServerName www.learn-laravel.com     ServerAlias *.learn-laravel.com     ErrorLog "logs

《深入理解Nginx:模块开发与架构解析》一第2章 Nginx的配置2.1 运行中的Nginx进程间的关系

第2章 Nginx的配置 Nginx拥有大量官方发布的模块和第三方模块,这些已有的模块可以帮助我们实现Web服务器上很多的功能.使用这些模块时,仅仅需要增加.修改一些配置项即可.因此,本章的目的是熟悉Nginx的配置文件,包括配置文件的语法格式.运行所有Nginx服务必须具备的基础配置以及使用HTTP核心模块配置静态Web服务器的方法,最后还会介绍反向代理服务器. 通过本章的学习,读者可以:熟练地配置一个静态Web服务器:对影响Web服务器性能的各个配置项有深入的理解:对配置语法有全面的了解.通

实例说明泛解析给SEO带来的不利影响

> 前几天通过站长工具查询网站同IP下发现有个陌生域名绑定,于是通知技术处理,却不经意间发现了网站一直存在的一个问题--泛解析的使用问题.由于使用了泛解析,site:***.cn首页的时候,会出现很多稀奇古怪的二级域名,这些域名可能是用户使用后留下的痕迹被搜索引擎检索并收录下来,如下图:   泛解析后产生的杂乱二级域名 什么是泛解析呢? 也就是客户的域名#.com之下所设的*.#.com全部解析到同一个IP地址上去. 比如客户设1.#.com就会自己自动解析到与#.com同一个IP地址上去. 什

如何高效的进行子域名收集与筛选?

本文讲的是如何高效的进行子域名收集与筛选?, 介绍 当我在寻找Hackerone上的新目标时,我总是会去关注已解决报告的数量,因为这一更高的数字可能意味着你在这里能够发现漏洞的机会比在那些关闭了提交意见的程序上更为容易.正因为这个原因,所以我选择了雅虎! 我们都知道雅虎是大型的国际公司,所以我预计其会有很多子域名,路径和重定向,但从哪里开始呢?这时候就要用到我最喜欢的枚举/强化子域名工具:Sublister(https://github.com/aboul3la/Sublist3r)和Fierc