Nginx, Passenger 및 Rails가 Linode에서 아름답게 작동합니다. 시작하기 전에 내 IP에서만 사이트를 볼 수 있도록 액세스를 제한하고 싶습니다.Nginx.conf를 통해 단일 IP 주소에 대한 액세스를 허용하려면 어떻게합니까?
나는 모두에 대한 액세스를 거부하고 Nginx에서 내 IP에만 액세스를 허용하려고했습니다. 그것은 모두에게 접근을 거부하지만, 나는 허용하도록 할 수 없습니다. nginx.conf에서 지정하는 IP 주소가 올바른 공용 IP인지 확인했습니다.
다음은 내 nginx.conf입니다. 파일을 편집 한 후 nginx를 다시 시작하고 예상대로 작동하는 다른 변경 사항을 테스트했습니다 (예 : 모든 사이트를 제거하고 예상대로 사이트에 액세스 할 수 있음).
내가 뭘 잘못하고 있니?
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;
}
}
}
하지의 nginx의 설정에 익숙한 수정,하지만 당신은 순서를 전환 시도? 내가하고있는 일은 당신의 IP에 대한 액세스를 허용하고 모든 사용자에 대한 액세스를 거부하는 것이라고 생각합니다. 귀하의 IP는 모두에 포함되어 있으므로 허용을 지우고 있습니다. – Corbin
불행히도 작동하지 않았습니다. [nginx documentation] (http://wiki.nginx.org/HttpAccessModule)에서 : "거부/허용 순서가 가장 중요합니다. 아파치 세계에서 온다면 유혹을받을 수 있습니다. 위의 예제에서 순서를 바꾸면 모든 주소에 대한 액세스가 거부 된 결과가 발생합니다. " – MrDerp