Nginx多虚拟主机下泛域名配置

本文详细介绍了如何在Nginx环境下配置泛域名以解析自定义二级域名,并解决了多个虚拟主机配置之间的优先级冲突问题。通过实践案例,解释了如何避免普通域名解析到泛域名导致的404错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.tuicool.com/articles/F3Azuq


近上一个应用,让用户可以自定义二级域名,所以要配置一个泛域名来解析用户的自定义域名。 
首先来说说nginx下的泛域名配置,nginx泛域名必须安装http_sub_module模块,安装的时候带上参数–with-http_sub_module 
通配符*配置

listen  80;
server_name  *.chj360.com;

这样就能解析chj360.com下所有二级域名了。 
但是这么配置在多虚拟主机会有问题 
比如现在有

server{
  listen  80;
  server_name  www.chj360.com;
  location /{
  
  }
}

server{
  listen  80;
  server_name  *.chj360.com;
  location /{
  
  }
}

server{
  listen  80;
  server_name  social.chj360.com;
  location /{
  
  }
}

这个时候www,social和*哪个优先级更高呢? 
貌似nginx没有明确通配符虚拟主机的优先级没有普通虚拟主机低的说法。 
所以有时间访问social下面的页面解析到*.chj360.com,就要出现404了。

还有调整了一下设置,把通配符虚拟主机改为

server{
  listen  80;
  server_name a.chj360.com *.chj360.com;
  location /{
  
  }
}

这时候,解析就问题了,在我的测试中,在没有出现普通域名接下到泛域名下去。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值