2013-10-12 10 views
5

Mam aplikację Rails na Amazon EC2, używając nginx i jednorożca.Nginx - jak skonfigurować adres IP? (zwraca tylko 127.0.0.1)

Kiedy dostęp request.remote_ip lub request.env [ 'REMOTE_ADDR'] wyjście jest zawsze 127.0.0.1.

Oto mój nginx.conf

user www-data; 
worker_processes 1; 

error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
    # multi_accept on; 
} 

http { 
    include  /etc/nginx/mime.types; 

    access_log /var/log/nginx/access.log; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 
    tcp_nodelay  on; 

    gzip on; 
    gzip_disable "MSIE [1-6]\.(?!.*SV1)"; 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 

    upstream example.com { 
     server 127.0.0.1:8080; 
    } 

    server{ 
     listen 80; 

     server_name example.com _; 
     root /home/deployer/example/public; 

     location/{ 
     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; 
     proxy_set_header Host $http_host; 

     if (!-f $request_filename) { 
      proxy_pass http://example.com; 
      break; 
     } 
     if (-f $document_root/system/maintenance.html) { 
      return 503; 
     } 
     } 
    } 
} 

Próbowałem dodać te linie:

proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

ale niestety, wynik był wciąż ten sam - 127.0.0.1

Co czy robię źle? Czy jest jakiś inny błąd?

+0

samo jest tutaj! Korzystanie z serwera tornado jako źródła. Każda pomoc będzie doceniona! –

Odpowiedz

2

Spróbuj tego:

proxy_set_header CLIENT_IP $remote_addr; 
+0

Próbowałem, ale wciąż tak samo. – user984621

+0

Czy restartujesz serwer za każdym razem, gdy zmieniasz konfigurację? –

+0

Powinien to być 'Client-IP', a nie' CLIENT_IP'. –