详解nginx 的 default_server 定义及匹配规则

详解nginx 的 default_server 定义及匹配规则,第1张

详解nginx的default_server定义及匹配规则

本文详细介绍了nginx的default_server的定义和配置标准。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

nginx的default_server命令可以定义默认服务器,解决一些与server_name不匹配的需求。如果没有明确的定义,第一个定义的服务器将被选为default_server。

掌握以上标准后,我们就可以捕捉到未连接的域名访问或即时IP访问,跳转到403网页。

1,nginx隐式默认服务器

http{ #要是没有显式申明defaultserver则第一个server会被隐式的设成defaultserver server{ listen80; server_name_;#_并并不是关键__还可以___还可以 return403;#403forbidden } server{ listen80; server_namewww.a.com; ... } server{ listen80; server_namewww.b.com; ... } }

很多人抄袭不断发展的server_name设置为'_',实际上根本没有连接。_'只是一个与业务流程域名无关的服务项目。如果我们的线上业务流程都是已经建立的业务流程域名访问,那么泛解析导致的一些非业务流程域名或ip访问,将通过这次服务器收购得到解决。

当没有明确定义默认服务器时,nginx会把第一个配备的服务器作为默认服务器,也就是当请求没有全部伴随server_name时,这个服务器会解决这个请求。所以我们马上申请ip访问的时候,会交给这里定义的第一个服务器,403禁止。

2。显示信息的定义:默认服务器

http{ server{ listen80; server_namewww.a.com; ... } server{ listen80; server_namewww.b.com; ... } #显示信息的定义一个defaultserver server{ listen80default_server; server_name_; return403;#403forbidden } }

建议显示一个具体的默认服务器以供参考,因为当我们配备虚拟主机或多业务流程时,会有几个服务器环境变量。如果隐式方法选择第一个加载的服务器作为默认服务器,那么每个人都应该确定首先加载哪个服务器...制造风险。...

3。立即将server_name指定为ip(仅禁止ip访问)

http{ server{ listen80; server_namewww.a.com; ... } server{ listen80; server_namewww.b.com; ... } #立即特定ipserver_name server{ listen80; server_namexxx.xxx.xxx.xxx; return403;#403forbidden } }

以上三种方法都可以立即禁止ip访问,1,2也可以禁止无关域名的访问(比如你泛解析了主域名)。

注意:nginx批量加载conf时,会按照ascii顺序加载,即按照server_a.confserver_b.confserver_c.conf的顺序加载,如果没有默认服务器,那么将server_a作为默认服务器,以解决不关联域名/ip的要求。

这篇详细讲解nginx的default_server的定义和搭配标准的文章到此为止。关于NGINX的default_server搭配标准的大量内容,请搜索您之前文章的内容或者再次访问下面的相关文章。期待你以后更多的应用!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/774389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存