On Jul 11, 2016, at 4:27 PM, Maxim Dounin wrote:
> No location information is added by nginx to error pages, and 
> never was.  You are probably using something with 3rd party 
> patches.  An obvious fix is to switch to using vanilla nginx 
> instead, it can be downloaded here:

On Jul 11, 2016, at 4:25 PM, Oleg A. Mamontov wrote:

> =============================================
> location /paths/to/ {
>    if ( !-f /etc/nginx/_flags/is_running ) {
>        rewrite ^ /is_running last;
>    }
> }
> location = /is_running {
>    internal;
>    return 404 'nothing\n';
> }
> =============================================



Thanks to you both!

I spent way more time than I should tracking the issue.  I finally figured it 
out.  Details below:

1. I am using a non-standard nginx -- I run openresty.  I thought this might 
have been the issue so started creating test-cases to pin down, and running 
against all the nginx & openresty versions. I could not consistently get this 
to repeat.

2. The first part of the problem is that I had `break` on my rewrite, instead 
of `last`.

3. The second part of my problem, and this is where the confusion happened -- a 
proxypass was involved

Using `last`:
        what i wanted happened

Using `break`
        the rewrite to `/is_running` got passed to the proxypass; the 
application was creating the error message
        the app's error message template was very similar to nginx -- and that 
threw me off
        i only figured this out, because nginx served an error when the 
application was taken offline during an update




_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to