前提目前我们在做一个机遇docker、JFinal的SaaS平台,暂时测试阶段! 今日,系统在做域名绑定的时候发现:未绑定过的域名cname到我们得三级域名上,会绑定到某个系统上! 基于名称的虚拟服务器nginx请求匹配的时候是根据request的投信息host来判定哪个server处理请求! 如果没有匹配到server_name,或者配置文件中不存在该server_name, 那么nginx将会将这个请求转发给一个默认的server,如果你不想让它默认的,那么可以在listen指令中添加default_server参数指明 如下: server { listen 80 default_server; server_name nginx.net www.nginx.net; ... } 注:0.8.21之后的nginx版本才支持default_server参数 怎么阻止没有指定服务器名字的请求?如果你不想处理没有指定Host的请求,你只需要添加一个空的server_name即可 如下: server { listen 80; server_name ""; return 444; } 处理下面是我的临时处理,返回一个页面会更加适合 server { listen 80 default_server; server_name ""; return 200 "{code:1, message:'domain config error!'}"; add_header Content-Type text/plain; } 参考:nginx request processing reply-with-200-from-nginx-config-without-serving-a-file (责任编辑:IT) |