Nginx – 在input不存在的服务器名称时打开第一个项目

我有一个运行nginx的服务器,在启用了站点的地方有多个项目。 问题来了,当试图访问和不存在的项目URL,Nginx将呈现第一可用。

例如,我有一个服务器与IP 111.222.333.444和NGINX与那些项目:

  1. aaa.test.com
  2. bbb.test.com
  3. ccc.test.com

我现在正在创build一个新的域,是ddd.test.com,并指向111.222.333.444当试图访问ddd.test.com,我的浏览器将打开aaa.test.com

任何想法为什么?

在我的nginx项目configuration我有aaa.test.com

server { listen 80; server_name aaa.test.com; access_log /usr/local/nginx/logs/aaa.access.log; error_log /usr/local/nginx/logs/aaa.error.log; root /var/www/aaa/web; client_max_body_size 60M; location / { index app.php; if (-f $request_filename) { break; } rewrite ^(.*)$ /app.php last; } ## Parse all .php file in the /var/www directory location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } } 

您需要制作一个单独的默认虚拟主机,可以执行任何您想要的操作:

 server { listen 80 default_server; return 404; }