<html><head></head><body><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:16px;"><div dir="ltr" data-setdir="false">Hello,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I have a real server placed behing my reverse proxy</div><div dir="ltr" data-setdir="false">www server 192.168.1.10 <---> 192.168.1.20 reverse proxy <---> NAT Firewall <---> Interrnet <---> Client on Internet</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">My configuration on my reverse proxy (192.168.1.20) looks like that</div><div dir="ltr" data-setdir="false"><div>     location ^~ / {<br>        proxy_pass              http://192.168.1.10:80;<br>        proxy_redirect          off;<br>        proxy_set_header        Host                    $http_host;<br>        proxy_set_header        X-Real-IP               $remote_addr;<br>        proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;<br>        proxy_set_header        Referer                 "http://app.mydomain.org";<br>     }<br><br></div><div><br></div><div dir="ltr" data-setdir="false">My configuration on my www server (192.168.1.10) on the vhost looks like that</div><div dir="ltr" data-setdir="false"><div>server {<br></div><div>...<br></div></div><div dir="ltr" data-setdir="false"><div dir="ltr" data-setdir="false"><div dir="ltr" data-setdir="false">        access_log /var/log/nginx/mylogs.mydomain.org.access.log xforwardedLog;</div><div>        error_log /var/log/nginx/ <span>mylogs.mydomain.org</span>.error.log;</div><br></div><div dir="ltr" data-setdir="false">and in nginx.conf<br></div><div dir="ltr" data-setdir="false"><div>http {<br>...<br></div><div dir="ltr" data-setdir="false"><span>log_format  xforwardedLog   '$remote_addr forwarded for $http_x_real_ip - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';</span><br></div></div></div><div><br></div><div dir="ltr" data-setdir="false">On my www server 192.168.1.10 I can see the access logs</div><div dir="ltr" data-setdir="false"><span> <span>192.168.1.20</span> forwarded for 54.38.10x.x - - [30/Jun/2022:13:44:38 +0200] "GET / HTTP/1.0" 200 7112 "http://<span>app.mydomain.org</span>" "Mozilla/1.22 (compatible; MSIE 5.01; PalmOS 3.0) EudoraWeb 2.1"</span></div><div dir="ltr" data-setdir="false">And it works correctly for me because I can see the IP of the user on the Internet</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">But on the error.log I don't see the IP of the user on the Internet</div><div dir="ltr" data-setdir="false"><span>2022/06/28 16:12:27 [error] 45747#0: *11 access forbidden by rule, client: 192.168.1.20, server: app.mydomain.org, request: "GET /.git/config HTTP/1.0", host: " <MY PUBLIC IP>", referrer: "http://app.mydomain.org"</span></div><div dir="ltr" data-setdir="false">So here as you can see in the logs my client 192.168.1.20 is the reverse proxy and not the client on the Internet</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">So in access logs</div><div dir="ltr" data-setdir="false"><a href="http://nginx.org/en/docs/http/ngx_http_log_module.html" rel="nofollow" target="_blank">http://nginx.org/en/docs/http/ngx_http_log_module.html</a></div><div dir="ltr" data-setdir="false">I can get the IP of the Internet use</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">How can I get the IP of the Internet user when it generates an error log ?</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Thank you<br></div><div><br></div><div><br></div><div dir="ltr" data-setdir="false"><br></div></div></div></body></html>