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出现这个错误原因应该有好多,这里提供一种可能原因,以供网友参考。
很明显这是一个nginx的错误,网上查了一些资料,都是和PHP相关的,很多人问了这个问题,但是没有人回答,在查看nginx.conf的文件过程中分析可能是以下的问题,在nginx.xml中有如下配置:
标红的部分是很大的嫌疑,恰好应用中在提交数据的一瞬间和服务器有多次交互,这些交互都要过nginx。再加上用户IP来做key,假如多个用户访问在网上的最后一跳是同一个路由器,很显然会被服务器当成是一台电脑,从而出现判断错误。那么又一个新问题来了,出现503错误后为啥返回的是那个错误页面呢?
带着这个问题在nginx.conf中又发现了一段配置,如下图:
这个配置的意思是当出现500、502、503、504的错误时返回50x.html页面,这个页面在nginx安装目录的html文件夹下,内容如下:
这个页面经过浏览器解析就是开头第一幅图的样子。
分析到这里,就大概估计出原因了,把之前的rate值该大一点即可。那么到底改多大?这个要根据不同的业务而定,甚至去掉这个配置,所以这个是个经验值,通过多次试验可以得到一个相对于应用合理的值,这里就不说了。实际nginx出现这个错误原因应该有好多,这里提供一种可能原因,以供网友参考。
相关文章推荐
- nginx配置学习备忘0
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解
- Nginx+Keepalived实现站点高可用
- Nginx | Outline
- 【nginx运维基础(1)】Nginx的编译安装与使用
- nginx文件类型错误解析漏洞
- NGINX + LUA实现复杂的控制
- nginx配置禁止访问目录或文件
- nginx学习之安装篇
- Nginx进阶内容
- Nginx介绍和安装
- Nginx出现413 Request Entity Too Large错误解决方法
- nginx配置
- 使用ab对nginx进行压力测试
- 重启或杀掉nginx进程后丢失nginx.pid
- Windows安装Nginx并支持PHP
- Nginx的安装和配置文件详细说明
- Nginx 499错误的原因及解决方法
- Nginx+phpfastcgi下flush输出问题
- 编译nginx时,编译参数注意点