Nginx超时似乎不适用于某个位置

时间:2017-10-25 15:06:31

标签: nginx

如果我的http块中有以下超时规则:

keepalive_timeout 1s;
send_timeout 1s;

以下位置:

location = /slow {
    echo_sleep 10;
    echo "So slow";
}

我希望/slow能够触发408或504(超时),但它实际上是在尊重该请求。哪个对我说我没有错误地处理超时。那么我如何限制nginx处理请求所需的时间长度?

1 个答案:

答案 0 :(得分:0)

文件明确说明

  

设置向客户端传输响应的超时时间。仅在两个连续的写操作之间设置超时,而不是为整个响应的传输。如果客户端在此时间内未收到任何内容,则表示连接已关闭。

echo_sleep 10;然后echo "xxx",因此回复时间将从echo开始,而不是从echo_sleep开始