<div dir="ltr">Hi Max.<br><br>In our idea with this configuration all the requests use the sslclient logformat and in case of failure with the certificate the logformat that will be used is sslclientfull.<br><br> <br><br>Into the location / we enable the ssl_verify_client to optional and actually we have some if with the variabile $ssl_client_verify to provide a customized message to the users. It seems that the set variable is not working into the if statement.<br><br>We can’t use the “map” parameter because it works only to a http block and not into location block.<br><br>Thanks,<br>Marcello<br><br><br>Regards,<br><br>Marcello<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 29, 2019 at 3:02 PM Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello!<br>
<br>
On Fri, Jul 26, 2019 at 03:49:05PM +0200, Marcello Lorenzi wrote:<br>
<br>
> Hi Maxim,<br>
> I tried to configure the location with this example:<br>
> <br>
> server  {<br>
>         access_log  logs/access_log sslclient;<br>
> <br>
>         location / {<br>
> <br>
>             if ($ssl_client_verify != "SUCCESS") {<br>
>                 set $loggingcert 1;<br>
>             }<br>
> <br>
>             access_log  logs/access_log sslclientfull if=$loggingcert;<br>
> <br>
>         }<br>
> <br>
> }<br>
> <br>
> I noticed that all the request inherit the first access_log configuration<br>
> and not the conditional.<br>
<br>
In the configuration in question, all requests handled in <br>
"location /" will either use the "sslclientfull" log format, or <br>
won't be logged at all.<br>
<br>
If this is not what you observe, most likely you've missed <br>
something an requests are either not handled in the server in <br>
question, or not handled in "location /".  For example, this <br>
may happen if you are using "ssl_verify_client on;" and all <br>
requests without proper client certificates are terminated with <br>
error 400 in the server context before any processing, hence they <br>
are not handled in "location /".<br>
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</blockquote></div>