<div dir="ltr"><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Again, it is not empty, nor containing an hyphen...<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Look slowly to the log line and compare it to the log format. You use hyphens as separators, which, again, might not be a good idea at this precise location.<br></div><div class="gmail_extra"><br><div style="font-size:small;color:rgb(51,51,153)" class="gmail_default">​The IP address you get is a private one though, so not 'client' but rather 'downstream'.​</div><div style="font-size:small;color:rgb(51,51,153)" class="gmail_default">​It seems you are hiding behind CloudFlare, you should read their doc to see how to get the real client IP address. The HTTP header you tried to use seems to be empty (ie 'dash'.<br><br></div><div style="font-size:small;color:rgb(51,51,153)" class="gmail_default">As for using hyphens rather than real emptiness, I guess that helps validating there is no real value, ​differentating this case from a bogus 'empty' which would be a sign of a bug.<br></div><div><div class="gmail_signature" data-smartmail="gmail_signature"><font size="1"><span style="color:rgb(102,102,102)">---<br></span><b><span style="color:rgb(102,102,102)">B. R.</span></b><span style="color:rgb(102,102,102)"></span></font></div></div>
<br><div class="gmail_quote">On Sun, Mar 5, 2017 at 10:50 PM, c0nw0nk <span dir="ltr"><<a href="mailto:nginx-forum@forum.nginx.org" target="_blank">nginx-forum@forum.nginx.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank's for the info :)<br>
<br>
But why is $remote_addr outputting a hyphen instead of the users IP...<br>
<br>
I still expect to see the client's IP address.<br>
<br>
B.R. via nginx Wrote:<br>
------------------------------<wbr>-------------------------<br>
<span class="">> That is because it is not: your eyes deceived you having a too quick<br>
> look<br>
> at the log line.<br>
><br>
> Your 'empty' variables are actually showing the value '-' in this log<br>
> line.<br>
> It probably does not help debugging to have static '-' mixed in the<br>
> format<br>
> of your log lines where you put them.<br>
> ---<br>
</span>> *B. R.*<br>
<div><div class="h5">><br>
> On Sun, Mar 5, 2017 at 10:00 PM, c0nw0nk <<a href="mailto:nginx-forum@forum.nginx.org">nginx-forum@forum.nginx.org</a>><br>
> wrote:<br>
><br>
> > Francis Daly Wrote:<br>
> > ------------------------------<wbr>-------------------------<br>
> > > On Fri, Mar 03, 2017 at 10:47:26AM -0500, c0nw0nk wrote:<br>
> > ><br>
> > > Hi there,<br>
> > ><br>
> > > > map $http_cf_connecting_ip $client_ip_from_cf {<br>
> > > > default $http_cf_connecting_ip;<br>
> > > > }<br>
> > > ><br>
> > > > How can I make it so if the client did not send that $http_<br>
> header<br>
> > > it makes<br>
> > > > $client_ip_from_cf variable value = $binary_remote_addr<br>
> > > ><br>
> > > > Not sure how to check in a map if that http header is present.<br>
> > ><br>
> > > If the http header is absent, the matching variable is empty. So<br>
> it<br>
> > > will<br>
> > > have the value "".<br>
> > ><br>
> > > Use that as the first half of your "map" pair.<br>
> > ><br>
> > >       f<br>
> > > --<br>
> > > Francis Daly        <a href="mailto:francis@daoine.org">francis@daoine.org</a><br>
> > > ______________________________<wbr>_________________<br>
> > > nginx mailing list<br>
> > > <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> > > <a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
> ><br>
> ><br>
> > Hey Francis,<br>
> ><br>
> ><br>
> > HTTP BLOCK<br>
> > log_format cf_custom 'CFIP:$http_cf_connecting_ip - $remote_addr -<br>
> > $remote_user [$time_local]  '<br>
> > '"$request" Status:$status $body_bytes_sent '<br>
> > '"$http_referer" "$http_user_agent"'<br>
> > '$http_cf_ray';<br>
> > map $status $loggable {<br>
> > ~^[23]  0;<br>
> > default 1;<br>
> > }<br>
> > access_log logs/access.log cf_custom if=$loggable;<br>
> ><br>
> > map $remote_addr $client_ip_from_cf {<br>
> > default $remote_addr;<br>
> > }<br>
> ><br>
> ><br>
> > Access.log output<br>
> > CFIP:- - 10.108.22.40 - - [05/Mar/2017:21:27:50 +0100]  "GET<br>
> ><br>
> ><br>
> > Any idea why the remote_addr is empty surely it should display to me<br>
> the<br>
> > clients IP address i am not proxying traffic or anything like that.<br>
> I<br>
> > expected to see an IP there instead it seems the value is empty.<br>
> ><br>
> > Posted at Nginx Forum: <a href="https://forum.nginx.org/read.p" rel="noreferrer" target="_blank">https://forum.nginx.org/read.p</a><br>
> > hp?2,272744,272766#msg-272766<br>
> ><br>
> > ______________________________<wbr>_________________<br>
> > nginx mailing list<br>
> > <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
> ><br>
> ______________________________<wbr>_________________<br>
> nginx mailing list<br>
> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
<br>
</div></div>Posted at Nginx Forum: <a href="https://forum.nginx.org/read.php?2,272744,272768#msg-272768" rel="noreferrer" target="_blank">https://forum.nginx.org/read.<wbr>php?2,272744,272768#msg-272768</a><br>
<div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br></div></div>