nginx 代理https 出现504
问题描述:请求https时报nginx 504
分析:https超时了,但页面等待时间很短就报504。再结合nginx转发,
基本可以确定问题的原因是ngnix的超时时间设置过短。
解决办法:延长超时时间,在http{ }节点中添加超时时间设置:
proxy_connect_timeout 180;
proxy_read_timeout 180;
proxy_send_timeout 180;
扩展:
http {
server {
#读取http头部的超时时间,单位秒,连接建立后,服务端接收http头部,规定时间内没收到,则超时,返回给客服端408(request time out)
client_header_timeout 60;
#读取http body的超时时间,单位秒,连接建立后,服务端接收body,规定时间内没收到,则超时,返回给客服端408(request time out)
client_body_timeout 60;
#发送响应超时时间,单位秒,服务端向客户端发送数据包,规定时间内客户端没收到,则超时
send_timeout 60;
#保持闲置连接的超时时间,单位秒,超过后服务器和浏览器都会关闭连接
keepalive_timeout 75;
#域名解析超时时间,单位秒
# resolve_timeout 30;
#nginx服务器与被代理服务连接超时时间,代理超时
proxy_connect_timeout 60;
#nginx服务器发送数据给被代理服务器超时时间,单位秒,规定时间内nginx服务器没发送数据,则超时
proxy_send_timeout 60;
#nginx服务器接收被代理服务器数据超时时间,单位秒,规定时间内nginx服务器没收到数据,则超时
proxy_read_timeout 60;
}
}