使用Apache和HAProxy诊断HTTP 500错误

时间:2018-09-07 14:09:01

标签: apache http asynchronous svn haproxy

我正在处理的应用程序出现问题,这使我完全陷入困境。该程序是一个iOS应用程序,需要能够从SVN服务器异步下载图像。用户一直在报告丢失的图像,当我深入研究代码时,我注意到某些下载正在超时。我尝试增加请求的超时时间,并添加代码以重试失败但没有成功。

在查看Web服务器的apache访问日志时,我注意到某些下载请求失败,并显示“ 500”错误。问题是,我实际上没有在顶级apache错误日志或该站点的apache错误日志中看到记录那些错误的任何详细信息。我能找到的大多数信息是针对php问题的人,但我已经消除了这种可能性。启用了php的错误日志记录,这些日志中什么都看不到。

我的另一个想法是,代理服务器(haproxy)可能将请求定向到我的Web服务器,但似乎也能正常工作。如果我在haproxy日志中查看失败请求的行,则显示状态为“ 200”。

有人能对此有所启发吗?丢失的图像对我的用户来说是一个主要问题,我不知道还要看什么。

更新: 我认为可以排除代理服务器的原因。我修改了代码,以通过ip地址直接指向svn服务器,结果是相同的。

apache访问日志

"GET /svn/mysite/33245/img/13301.jpg HTTP/1.1" 500 500 1 251118 "-" "MyApp/1.1.57 CFNetwork/758.5.3 Darwin/15.6.0"

代理日志

http-in backend_www_static/web01 21/0/1/3/1746 200 96024 - - CD-- 3/3/1/1/0 0/0 "GET /svn/mysite/33245/img/13301.jpg HTTP/1.1"

1 个答案:

答案 0 :(得分:0)

我最终发现问题的根源实际上是在客户端。我同时向网络服务器发送了太多请求,这很令人窒息(有关更多详细信息,请参见:Incrementing a Variable from an Asynchronous Block in Objective-C)。就是说,我从来没有想过如何真正找到任何相关的日志,因此我暂时将其保留。

相关问题