Yeah, that caught my attention as well. How is SIGSEGV ever _not_ a bug?
One of the last paragraphs is illuminating as to why `if` is so weird in NGINX:
> Directive “if” is part of rewrite module which evaluates instructions imperatively. On the other hand, NGINX configuration in general is declarative. At some point due to users demand an attempt was made to enable some non-rewrite directives inside “if”, and this lead to situation we have now. It mostly works, but… see above.
One of the last paragraphs is illuminating as to why `if` is so weird in NGINX:
> Directive “if” is part of rewrite module which evaluates instructions imperatively. On the other hand, NGINX configuration in general is declarative. At some point due to users demand an attempt was made to enable some non-rewrite directives inside “if”, and this lead to situation we have now. It mostly works, but… see above.