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;

   }

}

posted @ 2023-10-23 20:18  霸气小青年  阅读(304)  评论(0编辑  收藏  举报