如何让nginxlogin并删除未configuration的虚拟主机?

我有一个nginx安装服务于几个虚拟主机; 这些工作正常。 不过,我似乎记得,这台服务器负责主办一些其他网站。 我不记得哪些。

我不希望这些请求parsing为默认(任意)的虚拟主机。

目前,例如,去http://10.0.0.10/ (内部地址)parsing为默认的虚拟主机。 这个虚拟主机正在运行drupal,因为drupal不能识别虚拟主机,所以它提供了drupal安装说明。 我担心这是发生在parsing到这个服务器的其他外部名字上。

有没有办法设置nginx,以便logging和删除不完全匹配configuration的虚拟主机的请求?

或者,我猜,这个问题可能会被解释为:“我如何设置一个默认的虚拟主机来匹配所有未知的名字?我该如何configuration虚拟主机来logging和删除访问?

设置一个默认的捕获所有服务器和日志请求到一个特定的文件,并返回一些状态或其他。 您的其他已知服务器可以使用已知的server_name值进行configuration。

  log_format with_host '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" "$host"'; server { listen 80 default_server; location / { access_log /var/log/nginx/unknown_site.log with_host; return 404; } } server { listen 80; server_name drupal.com; location / { .... } }