<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 14, 2018 at 5:59 AM, Roman Arutyunyan <span dir="ltr"><<a href="mailto:arut@nginx.com" target="_blank">arut@nginx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi David,<br>
<span class="gmail-"><br>
On Tue, Feb 13, 2018 at 01:01:03PM -0800, David Kewley wrote:<br>
> I'm using nginx 1.12.1 to proxy TCP and UDP streams. I have in my stream {}<br>
> stanza:<br>
><br>
>   log_format  test  '$time_local';<br>
><br>
>   access_log  /var/log/nginx/stream-access.<wbr>log  test  buffer=64k  flush=1s;<br>
>   error_log   /var/log/nginx/stream-info.log    info;<br>
><br>
><br>
> Both TCP and UDP streams log to /var/log/nginx/stream-info.<wbr>log. Only TCP<br>
> streams are logged in /var/log/nginx/stream-access.<wbr>log; UDP streams are not.<br>
><br>
> FWIW, client application behavior and tcpdump both show that the upstream<br>
> UDP server is sending a response that makes it through nginx proxy to the<br>
> client just fine.<br>
><br>
> Is this lack of UDP stream access_log logging expected, or should I open a<br>
> new bug?<br>
><br>
> If you need to see more details to show exactly what I'm doing, let me know<br>
> which details would be helpful.<br>
<br>
</span>Probably your UDP session is not considered finished by nginx.<br>
Did you specify proxy_responses and proxy_timeout in your config?<br>
If proxy_responses is unspecified and proxy_timeout is large, it may take a<br>
long time for a UDP session to expire and be logged.</blockquote><div> </div></div>Thank you, Roman! You pointed me in the right direction.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Now that I do more careful tests, I see the action of the default setting of "proxy_timeout 10m" in the two logs (access and info). Namely, info-level error_log shows client and proxy connections at the time they happen, as well as the disconnect when the 10m timeout happens. Meanwhile the access_log logs the connection at the time of disconnection (after the 10m timeout).</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm thinking that in many circumstances, I may not know how many response packets to expect from the upstream, so proxy_responses may not be optimal. But setting proxy_timeout shorter may in many cases help me by logging in access_log sooner.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I've started by setting proxy_timeout 1s in a situation where each application message stream is expected to be quick and very short-lived. Now I see entries in access_log quickly.</div><div class="gmail_extra"><br></div><div class="gmail_extra">David</div></div>