动静分离502,504错误,怎么解?

来源:4-3 Nginx动静分离_动静分离场景演示(2)

dao_0001

2018-11-18

老师,我在项目中使用了静态分离,静态部分使用了nginx,部分配置如下

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    try_files $uri /index.html;
}

location /api {
    proxy_pass http://lab_api;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
}

客户端(浏览器)访问时不时会出现502 / 504 错误,这怎么解决?
特别说明,我的 nginx 和 api 都是运行在docker里的。

谢谢!

写回答

1回答

Jeson

2018-11-21

首先,502,504错误类型是不一样的。

504 是 Gateway Time-out

502 是 Bad Gateway

出现504时候, 一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时。

502错误的原因比较多,很可能在代理模式下后端服务器出现问题引起的。后台进程假死、完全不接受请求等等 这些错误一般都不是nginx本身的问题,一定要从后端找原因



0
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程