title: Why is nginx responding to any domain name?
body: <p>I have nginx up and running with a Ruby/Sinatra app and all is well. However, I'm now trying to have a second application running from the same server and I noticed something weird. First, here's my nginx.conf:</p>
  
  <pre><code>pid /tmp/nginx.pid;
  error_log /tmp/nginx.error.log;
  
  events {
    worker_connections 1024;
    accept_mutex off;
  }
  
  http {
    default_type application/octet-stream;
    access_log /tmp/nginx.access.log combined;
  
    sendfile on;
    tcp_nopush on;
    tcp_nodelay off;
  
    gzip on;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_min_length 500;
    gzip_disable "MSIE [1-6]\.";
    gzip_types text/plain text/xml text/css
               text/comma-separated-values
               text/javascript application/x-javascript
               application/atom+xml;
  
    upstream app {
      server unix:/var/www/app/tmp/sockets/unicorn.sock fail_timeout=0;
    }
  
    server {
      listen 80;
      client_max_body_size 4G;
      server_name FAKE.COM;
  
      keepalive_timeout 5;
  
      root /var/www/app/public;
  
      location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
  
        if (!-f $request_filename) {
          proxy_pass http://app;
          break;
        }
      }
  
      error_page 500 502 503 504 /500.html;
      location = /500.html {
        root /var/www/app/public;
      }
    }
  }
                                                            68,0-1        B
  </code></pre>
  
  <p>Notice how <code>server_name</code> is set to <code>FAKE.COM</code> yet the server is responding to all hosts that hit that server via other domain names. How can I make that particular server respond only to requests for <code>FAKE.COM</code>?</p>