2013-09-05 8 views
11

Używamy Nginx jako reverse proxy z tej konfiguracji:Jak zapisywać żądanie podawania serwera reverse proxy w protokole Nginx?

upstream frontends { 
    server 127.0.0.1:8000; 
    server 127.0.0.1:8001; 
    server 127.0.0.1:8002; 
    [...] 
} 

server { 
    location/{ 
    proxy_pass http://frontends; 
    [...] 
    } 
    [...] 
} 

W ramach dzienniku dostępu, chciałbym nagrać serwer nadrzędny, który służył wniosek, który w naszym przypadku tylko oznacza powiązanych localhost Port.

Zmienne w dokumentacji (http://wiki.nginx.org/HttpProxyModule#Variables) wymieniają $ proxy_host i $ proxy_port, ale w dzienniku zawsze kończą się wartościami "frontends" i "80".

Odpowiedz

14

Zastosowanie $upstream_addr i dostaniesz np 127.0.0.1:8000 lub unix:/home/my_user/www/my_site/tmp/.unicorn.sock

24

Pierwszy dodać nowy format rejestrowania

log_format upstreamlog '[$time_local] $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time'; 

a następnie przedefiniować accesslog jak

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

log_format idzie do http { } sekcja, access_log może znajdować się w lokalizacji.

+0

Dzięki za to! Teraz mamy jasny obraz czasów zgłoszeń. –

Powiązane problemy