前提
在利用nginx做反向代理的时候,后端使用阿里云视频点播服务,上传一个视频文件,由于上传时间过长,导致nginx超时关闭了这个连接
举例
后端上传文件需要120s,上传完成后返回一个id值,由于nginx在60s(默认)内没有收到接口返回的响应头或响应主体,会默认关闭连接并断开,这个时候前端直接会报一个连接超时的错误
解决
在nginx的配置文件中给这个接口地址加上一个长连接的设置
keepalive_timeout 120s; //修改连接关闭时间为120s
补充
只有在http1.1协议的时候才支持长连接的设置,且默认为关闭状态
再补充
在使用axios的时候我也设置了超时时间,所以还需要修改axios的超时时间的设置