Nginx, Passenger y Rails funcionan perfectamente en mi Linode. Antes de lanzar, me gustaría restringir el acceso para que solo mi IP pueda ver el sitio.¿Cómo puedo permitir el acceso a una sola dirección IP a través de Nginx.conf?
He intentado denegar el acceso a todos y permitir el acceso solo a mi IP en Nginx. Niega el acceso a todos, pero no puedo permitir que funcione. He verificado que la dirección IP que especifico en nginx.conf es mi IP pública correcta.
Aquí está mi nginx.conf. He reiniciado nginx después de editar el archivo y he probado algunos otros cambios que funcionaron como se esperaba (por ejemplo, eliminé denegar todo y pude acceder al sitio, como era de esperar).
¿Qué estoy haciendo 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;
}
}
}
todo lo que conoce de configuración de nginx, pero ¿ha intentado cambiar el orden? Me imagino lo que está haciendo es otorgar acceso a su ip, y luego negar el acceso a todos. Su IP está incluida en todo, por lo que está borrando el permiso. – Corbin
Lamentablemente no funcionó. De la [documentación de nginx] (http://wiki.nginx.org/HttpAccessModule): "Tenga en cuenta que el orden de denegar/permitir es de suma importancia. Si vienes del mundo Apache, es posible que tengas la tentación de piense que puede cambiar el orden de las directivas de acceso y que todo funcionará. De hecho, no. Cambiar el orden en el ejemplo anterior tiene el resultado de negar el acceso a todas las direcciones ". – MrDerp