web-dev-qa-db-fra.com

Comment puis-je autoriser l'accès à une seule adresse IP via Nginx.conf?

Nginx, Passenger et Rails fonctionnent parfaitement sur mon Linode. Avant de lancer, je voudrais restreindre l'accès afin que seule mon IP puisse voir le site.

J'ai essayé de refuser l'accès à tous et de n'autoriser l'accès qu'à mon adresse IP dans Nginx. Il refuse l'accès à tous, mais je ne peux pas obtenir l'autorisation de travailler. J'ai vérifié que l'adresse IP que je spécifie dans nginx.conf est mon adresse IP publique correcte.

Voici mon nginx.conf. J'ai redémarré nginx après avoir modifié le fichier et testé d'autres modifications qui ont fonctionné comme prévu (par exemple, j'ai supprimé tout refuser et j'ai pu accéder au site, comme prévu).

Qu'est-ce que je fais mal?

    http {
      passenger_root /path/to/passenger-3.0.11;
      passenger_Ruby /path/to/Ruby;
      include       mime.types;
      default_type  application/octet-stream;
      sendfile        on;
      keepalive_timeout  65;
      gzip  on;
      server {
        listen 80;
        server_name www.foo.bar;
        root /path/to/Rails/public/;
        passenger_enabled on;
        location / {
          allow   my.public.ip.here;
          deny    all;
        }
      }
    }
53
MrDerp

modifiez votre nginx.conf

  server {
    listen 80;
    server_name www.foo.bar;

    location / {
      root /path/to/Rails/public/;
      passenger_enabled on;

      allow   my.public.ip.here;
      deny    all;
    }
  }
115
erkasraim

Je sais que c'est une vieille bande de roulement, mais vous utilisez toujours Sudo nginx -t pour obtenir un message d'erreur plus spécifique.

0
Lucas Dasso