当前位置:  开发笔记 > 前端 > 正文

为什么我收到Apache Proxy 503错误?

如何解决《为什么我收到ApacheProxy503错误?》经验,为你挑选了2个好方法。



1> exshovelrydr..:

只要检测到后端服务器出现故障,Apache就会用503响应至少60秒.这是默认行为.在您的示例中,如果您重新启动后端服务器(在此示例中为Rails)并且有人在Rails准备好之前尝试通过Apache代理访问它,那么Apache将在接下来的60秒内返回503,无论您的后端现在是"up" .请参阅ProxyPass上的apache文档,其中说明:

重试60

连接池工作程序以秒为单位重试超时.如果后端服务器的连接池工作程序处于错误状态,则Apache将不会将任何请求转发到该服务器,直到超时到期为止.这样可以关闭后端服务器以进行维护,并在以后将其重新联机.值为0表示始终在没有超时的情况下重试处于错误状态的工作程序.

因此,如果您将Proxy Pass设置为包含retry = 0,则在重新启动后端服务时将看不到503.在开发过程中使用Apache作为反向代理时,这也很有用!例如:

ProxyPass/http:// localhost:8000 retry = 0


供参考,指向[Apache 2.2的ProxyPass文档]的链接(http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass).

2> 小智..:

运行以下命令

# /usr/sbin/setsebool httpd_can_network_connect 1

要么

# /usr/sbin/setsebool httpd_can_network_connect true

然后重启httpd

# service httpd restart


setsebool -P ...使更改持续存在.
这对我没有帮助.Apache + mongrel这是禁用SELinux,我看不出与该问题的任何关系.
推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有