Meaning of config flle syntax


#1

I recently came across https://raymii.org/s/tutorials/haproxy_client_side_ssl_certificates.html article. I understand most of it. I am confused by the syntax:

backend expired
mode http
option http-server-close
redirect location /certificate-expired.html if { ssl_c_verify 10 } ! { path /certificate-expired.html }
redirect location /certificate-revoked.html if { ssl_c_verify 23 } ! { path /certificate-revoked.html }
redirect location /other-certificate-error.html unless { ssl_c_verify 0 } ! { path //other-certificate-error.html }
server helpdesk3 10.20.20.30:80 check

What does these ! means above?


#2

! negates the condition.

So haproxy will redirect to /certificate-expired.html only if:

  • the certificate expired
  • the path is not already /certificate-expired.html (otherwise it would redirect endlessly)