您的位置:首页 > 运维架构 > Nginx

nginx报A error occurred错误的解决过程

2015-10-11 23:21 537 查看
最近遇到一个问题,服务器上的一个应用在提交数据时一直报一个A error occurred的错误,截图如下图:



很明显这是一个nginx的错误,网上查了一些资料,都是和PHP相关的,很多人问了这个问题,但是没有人回答,在查看nginx.conf的文件过程中分析可能是以下的问题,在nginx.xml中有如下配置:



标红的部分是很大的嫌疑,恰好应用中在提交数据的一瞬间和服务器有多次交互,这些交互都要过nginx。再加上用户IP来做key,假如多个用户访问在网上的最后一跳是同一个路由器,很显然会被服务器当成是一台电脑,从而出现判断错误。那么又一个新问题来了,出现503错误后为啥返回的是那个错误页面呢?

带着这个问题在nginx.conf中又发现了一段配置,如下图:



这个配置的意思是当出现500、502、503、504的错误时返回50x.html页面,这个页面在nginx安装目录的html文件夹下,内容如下:



这个页面经过浏览器解析就是开头第一幅图的样子。

分析到这里,就大概估计出原因了,把之前的rate值该大一点即可。那么到底改多大?这个要根据不同的业务而定,甚至去掉这个配置,所以这个是个经验值,通过多次试验可以得到一个相对于应用合理的值,这里就不说了。实际nginx出现这个错误原因应该有好多,这里提供一种可能原因,以供网友参考。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: