当访问一个接口出现这个错误时 504 Gateway Time-out , 说明是后端服务超时了 ,
504是gateway timeout 网关超时 , 如果fpm响应的太慢 , 超过了nginx里面配置的fastcgi_read_timeout 超时时间 , 就会出现这个错误
可以有以下处理流程
首先查看nginx的access日志 , 看看接口请求是否到达了
tail -f /var/log/nginx/xxxx-access.log
可以得知nginx部分已经到达
后端是php-fpm , 可以查看fpm的error日志
tail -f /var/log/php-fpm/www-error.log
基本可以知道在访问某个ldap服务的时候 , 连接超时不可达了
用tcpdump也可以看到三次握手的第一步 SYN请求就没有回应 , 也ping不通
tcpdump -i any host 10.210.97.21 -l -s 0
重新更改接口地址后就ok了
还有一种是502错误 , 出现502是因为下面的原因:
在fpm的配置php.ini配置文件中
max_execution_time
以及fpm的配置文件比如www.conf中
request_terminate_timeout
这里是php里面设置的超时时间 , 如果超过了这个时间会报502错误