title: Nginx reverse proxy, only allow connection from hostname not ip
body: <p>Is it possible to allow only users typing in xxxxxx.com (fictive), so they should make a DNS-lookup and connect. And block users who uses my public ip to connect ?</p>
  
  <p>Configuration:</p>
  
  <pre><code>server {
  listen 80;
  return 301 https://$host$request_uri;
  }
  
  server {
  
  listen 443;
  server_name xxxxxxx.com;
  
  ssl_certificate           /etc/nginx/ssl/server.crt;
  ssl_certificate_key       /etc/nginx/ssl/server.key;
  
  ssl on;
  ssl_session_cache  builtin:1000  shared:SSL:10m;
  ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
  ssl_prefer_server_ciphers on;
  
  access_log            /var/log/nginx/jenkins.access.log;
  
  location / {
  
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
  
    # Fix the “It appears that your reverse proxy set up is broken" error.
    proxy_pass          http://10.0.11.32:80;
    proxy_read_tenter code hereimeout  360;
  
    proxy_redirect      http://10.0.11.32:80 https://xxxxxxx.com;
  }
  }
  </code></pre>