西数超哥博客
运维经验教程分享

Nginx 通过 default_server 指令设置默认站点

默认站点,用nginx的朋友很多时候是通过nginx.conf设置server站点信息(默认),后边加载  vhost/*.conf 。

Nginx功能很强大,可以简单通过 default_server 指令设置默认站点,nginx.conf可以解放出来。比如:

server {
listen 80 default_server;
server_name www.21yunwei.com;
...
}

先看看上面这段配置,listen 指令后面有一个参数 default_server ,这个参数是在 0.8.21 版本以后才有的,而之前是 default 指令。这样以后所有指向到该服务器但未绑定的,都会访问当前www.21yunwei.com这个站点了。
server_name主机名匹配访问顺序:

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

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

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

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

转载请注明:西数超哥博客www.ysidc.top» Nginx 通过 default_server 指令设置默认站点

https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » Nginx 通过 default_server 指令设置默认站点