Nginx 的 default_server 指令

简介:
server {
    listen       80 default_server;
    server_name  oschina.net  www.oschina.net;
    ...
}

先看看上面这段配置,listen 指令后面有一个参数 default_server ,这个参数是在 0.8.21 版本以后才有的,而之前是 default 指令(如果没有匹配到,都到这个默认里执行)。

Nginx 的虚拟主机是通过HTTP请求中的Host值来找到对应的虚拟主机配置,如果找不到呢?那 Nginx 就会将请求送到指定了 default_server 的 节点来处理,如果没有指定为 default_server 的话,就跑到 localhost 的节点,如果没有 localhost 的节点,那只好 404 了。

另外你也可以指定对于没有匹配的 Host 值时,返回错误到客户端,这在现在国内用来处理未备案域名指向自己时非常有用,看看下面的配置:

server {
    listen       80 default_server;
    server_name  _;
    return       444;
}

通过返回444这个Nginx的非标准错误码来让Nginx断开与浏览器之间的连接。

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1768124如需转载请自行联系原作者

qianghong000
相关文章
|
7月前
|
应用服务中间件 nginx
Nginx进程配置指令详解
Nginx进程配置指令主要包括:`worker_processes`设置工作进程数;`worker_cpu_affinity`绑定CPU核心;`worker_rlimit_nofile`设置最大文件描述符数量;`worker_priority`设置进程优先级;`worker_connections`设置最大连接数;`daemon`控制守护进程模式;`master_process`启用主进程模式;`pid`设置PID文件路径;`user`指定用户和组;`error_log`配置错误日志。这些指令在`nginx.conf`中配置,用于优化和控制Nginx的运行行为。
327 10
|
应用服务中间件 nginx
nginx location指令详解
nginx location指令详解
|
缓存 运维 应用服务中间件
运维系列.Nginx配置中的高级指令和流程控制
运维系列.Nginx配置中的高级指令和流程控制
778 1
|
网络协议 应用服务中间件 nginx
Nginx的http块sendfile,keepalive_timeout的配置指令说明
Nginx的http块sendfile,keepalive_timeout的配置指令说明
|
应用服务中间件 Shell nginx
shell分析nginx日志的一些指令
shell分析nginx日志的一些指令
151 0
|
应用服务中间件 nginx
百度搜索:蓝易云【Nginx【Nginx核心指令(rewrite指令、实战rewrite 、if指令、set和break指令】】
这些核心指令在Nginx的配置文件中发挥重要作用。使用rewrite指令可以实现URL的重写和重定向,if指令可以根据条件执行不同的操作,set指令可以创建自定义变量并设置其值,而break指令可以中断请求处理流程。理解和灵活运用这些指令,可以帮助我们更好地配置和管理Nginx服务器。
166 1
|
Web App开发 应用服务中间件 nginx
Nginx 配置指令的执行顺序(学习笔记二十)
大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个location配置块使用了多个 Nginx 模块的配置指令时,这些指令的执行顺序很可能会跟它们的书写顺序大相径庭。
1975 0
|
应用服务中间件 nginx Windows
都是我的错-Windows Nginx新手执行指令配置无效(下)
都是我的错-Windows Nginx新手执行指令配置无效(下)
430 0
|
缓存 应用服务中间件 Linux
都是我的错-Windows Nginx新手执行指令配置无效(上)
都是我的错-Windows Nginx新手执行指令配置无效
479 0
|
前端开发 应用服务中间件 nginx
Nginx常用指令,基本配置,反向代理
Nginx常用指令,基本配置,反向代理
174 0
Nginx常用指令,基本配置,反向代理