现象:访问页面被重定向至404页面。根据nginx代理服务器的日志显示,并没有acces_log日志进来,但是可以看到一条error日志,内容如下(具体内容不是,核心问题一致:upstream sent too big header while reading response header from upstream):
2013/10/11 23:18:44 [error] 51982#0: *1 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: work.cc, request: "POST /api/user/register HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "test.work.cc", referrer: "http://test.work.cc/api/doc/"
1 个回复
zkbhj - 凯冰科技站长
赞同来自:
一、用自己的服务器:(nginx的proxy_pass开启,前端nginx代理,静态资源直接走nginx,后端Apache处理PHP请求,nginx和Apache在同一台虚拟机上)
当模拟cookie内容过大,发送请求后,浏览器接收到的应答结果如下图所示:
登录至服务器上,看到nginx代理服务器上,有access日志和error日志(需把配置文件改为debug级别才能记录下):
access_log
error_log
再查后端Apache服务器,既没有请求日志,也没有错误日志。说明,在这种情境下,请求直接被nginx服务器拦截并返回给客户端。
二、另外一个场景:(nginx的proxy_pass开启,前端nginx代理服务器,后端Nginx应用服务器处理PHP请求,代理服务器和应用服务器在不同的虚拟机上)
现象:访问页面被重定向至404页面。根据nginx代理服务器的日志显示,并没有acces_log日志进来,但是可以看到一条error日志,内容如下(具体内容不是,核心问题一致:upstream sent too big header while reading response header from upstream):再到后端的应用服务器中看日志,能看到请求日志,没有错误日志,处理被正常返回给nginx代理服务器(response),nginx拦截后,根据服务器配置去寻找50x.html错误页面,但是服务器上没有该页面,最终被定向到了404页面。
问题:为什么在nginx上没有看到请求日志?nginx的access日志记录时间点是在什么时候?