nginx:是否可以在 fastcgi_read_timeout 中使用映射变量

nginx:是否可以在 fastcgi_read_timeout 中使用映射变量

我正在尝试这样做:

map $request_uri $php_timeout {
  default 60s;
  "~^/slow/process/(?:1|two|three)" 120s;
}

...

fastcgi_read_timeout $php_timeout;

nignx -t出现错误:

nginx:[emerg] /etc/nginx/ 中的“fastcgi_read_timeout”指令值无效……

这难道根本不可能吗?文档不要说它不是(或者它是)。

注意:如果不清楚,我有几个 URL 最好通过一组需要不同超时时间的正则表达式测试来描述。我可以为所有这些 URL 编写单独的位置块,但这样会很混乱。

答案1

fastcgi_read_timeout不能包含变量。可以使用变量的指令会被标记。

例如fastcgi_param

[…] 该值可以包含文本,变量,以及它们的组合。

相关内容