proxy_redirect can't be def'd in an include file; ok in main config?

Maxim Dounin mdounin at mdounin.ru
Tue Jan 21 19:10:48 UTC 2014


Hello!

On Tue, Jan 21, 2014 at 10:55:58AM -0800, rand at sent.com wrote:

> i've nginx 1.5.8
> 
> If I check a config containing
> 
> 	cat sites/test.conf
> 		...
> 		location / {
> 			proxy_pass  http://VARNISH;
> 			include  includes/varnish.conf;
> 		}
> 		...
> 	cat includes/varnish.conf
> 		proxy_redirect  default;
> 		proxy_connect_timeout  600s;
> 		proxy_read_timeout     600s;
> 		...
> 
> I get an error
> 
> 	nginx: [emerg] "proxy_redirect default" should be placed after
> 	the "proxy_pass" directive in
> 	//etc/nginx/includes/varnish.conf:1
> 	nginx: configuration file //etc/nginx/nginx.conf test failed
> 
> but if I change to,
> 
> 	cat sites/test.conf
> 		...
> 		location / {
> 			proxy_pass  http://VARNISH;
> +                       proxy_redirect  default;
> 			include  includes/varnish.conf;
> 		}
> 		...
> 	cat includes/varnish.conf
> -               proxy_redirect  default;
> +               #proxy_redirect  default;
> 		proxy_connect_timeout  600s;
> 		proxy_read_timeout     600s;
> 		...
> 
> then config check returns
> 
> 	nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
> 	nginx: configuration file /etc/nginx/nginx.conf test is
> 	successful
> 
> Why isn't the proxy_redirect viable in the include file?  Intended, or a
> bug?

Most likely, there are other uses of the "includes/varnish.conf" 
include file in your config, and they cause error reported.

And it's certainly a wrong list to write such questions.  Thank 
you for cooperation.

-- 
Maxim Dounin
http://nginx.org/



More information about the nginx-devel mailing list