自己写了个测试数据库连接的API,发现本地测试时,数据库的ip地址错误可以正常返回自己定义的错误,但是放到自己的服务器上测试,发现请求会超时,并且返回html格式的504错误.后端是采取python,flask,部署是结合uwsgi和Nginx。
走同样的路,发现不同的人生
504错误是服务器正在作为一个网关或代理来完成客户端的请求,因为后台代码可能访问了另一个服务器,我这里是访问了一个远程数据库,所以服务器为了完成这个请求,去访问这个远程数据库的服务器,但是没有得到及时的响应,因为配合了Nginx,所以一个请求设置的超时时间时60s,在这个时间段内,还是没有得到及时的响应,返回504错误。我设置了连接远程数据库的超时时间为60秒以内,他就可以返回错误信息,并被我的后台捕获到异常,然后返回我自己的定义的错误格式。
服务器返回504说明没有响应请求,可能是出现了意料之外的错误
检查一下业务逻辑,针对每种情况都要给前端返回响应,最好带上错误信息
504错误是服务器正在作为一个网关或代理来完成客户端的请求,因为后台代码可能访问了另一个服务器,我这里是访问了一个远程数据库,所以服务器为了完成这个请求,去访问这个远程数据库的服务器,但是没有得到及时的响应,因为配合了Nginx,所以一个请求设置的超时时间时60s,在这个时间段内,还是没有得到及时的响应,返回504错误。我设置了连接远程数据库的超时时间为60秒以内,他就可以返回错误信息,并被我的后台捕获到异常,然后返回我自己的定义的错误格式。
服务器返回504说明没有响应请求,可能是出现了意料之外的错误
检查一下业务逻辑,针对每种情况都要给前端返回响应,最好带上错误信息