Welcome! Log In Create A New Profile

Advanced

Re: Nginx map - use variable multiple times or use multiple variables

Maxim Dounin
December 05, 2019 01:28PM
Hello!

On Thu, Dec 05, 2019 at 01:12:07PM -0500, stmx38 wrote:

> Hello,
>
> We use Nginx map module to sent traffic to different upstreams based on the
> HTTP header:
>
> map $http_flow $flow_upstream {
> default "http://flow-dev";
> prod "http://flow-prod";
> test "http://flow-test";
> dev "http://flow-dev";
> }
>
> location / {
> proxy_read_timeout 5s;
> proxy_pass $flow_upstream;
> }
>
> Now, we want to define a different timeouts to different flows:
>
> map $http_flow $read_timeout {
> default 15s;
> prod 5s;
> test 10s;
> dev 15s;
> }
>
> location / {
> proxy_read_timeout $read_timeout;
> proxy_pass $flow_upstream;
> }
>
> Bunt Nginx config test show the error here:
> nginx -t
> nginx: [emerg] "proxy_send_timeout" directive invalid value in
> /etc/nginx/conf.d/flow.conf:19
> nginx: configuration file /etc/nginx/nginx.conf test failed

The proxy_send_timeout does not support variables. Note that if a
particular directive supports variables, this is explicitly said
in the documentation.

Instead, consider handling requests in different locations if you
want to use different configurations for them. For example:

map $http_flow $flow {
default dev;
test test;
}

location / {
rewrite (.*) /$flow/$1 last;
}

location /dev/ {
proxy_pass http://flow-dev/;
proxy_send_timeout 15s;
}

location /test/ {
proxy_pass http://flow-test/;
proxy_send_timeout 10s;
}

(Untested, and might require additional configuration to work
properly, such as switching off proxy_redirect.)

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Nginx map - use variable multiple times or use multiple variables

stmx38 December 05, 2019 01:12PM

Re: Nginx map - use variable multiple times or use multiple variables

Maxim Dounin December 05, 2019 01:28PM

Re: Nginx map - use variable multiple times or use multiple variables

stmx38 December 05, 2019 02:32PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 171
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready