我有一个由nginx代理的nextjs项目,我正在消耗一个由nextjs本身提供的rest API,这需要超过2分钟。
我得到的第一个错误是nginx的504超时,所以我添加了一些额外的指令:
proxy_connect_timeout 600s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
然后错误代码变为502。查看proxy_error_log文件,错误为
upstream prematurely closed connection while reading response header from upstream.
在我的项目中,我没有显式地使用express或任何其他服务器,所以我不知道如何设置http服务器超时。有没有办法从next.config.js文件或全局设置node js的超时?
1条答案
按热度按时间8fq7wneg1#
...此问题仅发生在node12中,而不在node14中。这是因为node12中的默认超时为2分钟,而node14中没有超时
在node12的next.js中解决这个问题的唯一方法是通过类似
NODE_OPTIONS='--http-server-default-timeout=0' next start
的方式使用--http-server-default-timeout
希望这对任何人都有帮助