<div dir="ltr">Try to remove the last 's'<div>This should work.<br><div><br></div><div><div style="font-family:arial,sans-serif;font-size:13px">map $http_user_agent $katimeout {<br></div><div style="font-family:arial,sans-serif;font-size:13px">    default 300;<br></div><div style="font-family:arial,sans-serif;font-size:13px">  }</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 18, 2014 at 2:25 AM, Robert Mueller <span dir="ltr"><<a href="mailto:robm@fastmail.fm" target="_blank">robm@fastmail.fm</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>




<div><div>Hi<br></div>
<div> </div>
<div>Thanks for your responses. Unfortunately, they don't seem to work.<br></div><span class="">
<div> </div>
<blockquote><div>and then use the evil IF:<br></div>
<div> </div>
<div>if ($ios_ua) {<br></div>
<div>     keepalive_timout 0;<br></div>
<div>}<br></div>
</blockquote><div> </div>
</span><div>This doesn't appear to work.<br></div>
<div> </div>
<div>      if ($http_user_agent ~ "^iOS/8\.") {<br></div>
<div>        keepalive_timeout 0;<br></div>
<div>      }<br></div>
<div> </div>
<div>nginx: [emerg] "keepalive_timeout" directive is not allowed here in nginx-http.conf:753<br></div>
<div>nginx: configuration file nginx-http.conf test failed<br></div>
<div> </div>
<div>If I do:<br></div>
<div> </div>
<div>      # if ($http_user_agent ~ "^iOS/8\.") {<br></div>
<div>        keepalive_timeout 0;<br></div>
<div>      # }<br></div>
<div> </div>
<div>e.g. comment out the "if" block part, it works fine, but obviously disabled keepalive for all requests. So it appears you can't set keepalive_timeout in an "if" block.<br></div><span class="">
<div> </div>
<blockquote><div dir="ltr"><div><div><div style="font-size:small;color:rgb(51,51,153)"><div style="font-size:small;color:rgb(51,51,153);display:inline">I would do even better by avoiding using 'if'<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline"> at all:<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline"> </div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">map $http_user_agent $keepalive_timeout {<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">    default 75s; # Put here the wanted default value (taken from <a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout" target="_blank">keepalive_timeout</a> docs)<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">    *regex* 0;<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">    *for* 0;<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">    *blacklisted* 0;<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">    *user agents* 0<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">}<br></div>
<div style="font-size:small;color:rgb(51,51,153);display:inline"> </div>
<div style="font-size:small;color:rgb(51,51,153);display:inline">keepalive_timeout $keepalive_timeout; # At http, server or location level, as docs state<br></div>
</div>
</div>
</div>
</div>
</blockquote><div> </div>
</span><div>This doesn't seem to work either:<br></div>
<div> </div>
<div>  map $http_user_agent $katimeout {<br></div>
<div>    default 300s;<br></div>
<div>  }<br></div>
<div> </div>
<div>  keepalive_timeout $katimeout;<br></div>
<div> </div>
<div>nginx: [emerg] "keepalive_timeout" directive invalid value in nginx-http.conf:53<br></div>
<div>nginx: configuration file nginx-http.conf test failed<br></div>
<div> </div>
<div>Looks like the value can't be a variable?<br></div>
<div> </div>
<div>Rob<br></div>
<div> </div>
</div>

<br>_______________________________________________<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" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br></blockquote></div><br></div>