默认站点,用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