apache - 使用 apache mod_proxy 时应用程序错误直通

标签 apache mod-proxy

嘿嘿。我将 mod_proxy 与 apache2 一起使用,为在本地计算机上运行的多个 servlet 应用程序提供 vhost 能力。在大多数情况下,它工作正常。请求进入 apache,然后被定向到绑定(bind)在本地主机端口上的应用程序。应用程序接收请求并做出响应,然后由 apache 将请求返回给客户端。

我遇到的问题是应用程序提供 500 的错误,而 mod_proxy 踩踏它们。通常这些错误是在 ajax 请求中引起的,并且错误是在客户端 javascript 中处理的。例如,对服务器端 createObject(name) 的调用可能会抛出 NameNotUniqueException ,它会作为 500 返回。然后客户端 javascript 可能会显示适当的错误消息。

当应用程序抛出错误(导致对 mod_proxy 的 500 响应)时,apache 会踩踏错误消息并返回

500 内部服务器错误

内部服务器错误

服务器遇到内部错误或 配置错误,无法完成 您的要求。

.. 库存 Apache 服务器端错误消息。

我希望 mod_proxy 将原始 500 传递回客户端。有没有我错过的指令可以防止破坏 500?

TIA

最佳答案

你有吗

 ProxyRequests Off
 ProxyErrorOverride Off
 ProxyPass /path/ http://backend.ip/path/
 ProxyPassReverse / http://backend.domain/

用您的值替换 backend.ip 和 backend.domain(我在这里使用 backend.ip,因为它可以防止 apache 在每个请求上运行 dns 查询)。

通常会按原样报告错误。因为 ProxyErrorOverride 默认是关闭的。如果我的配置没有发生这种情况,请检查 500 是否真的来自您的后端服务器。或者只是向我们展示您的完整代理配置。

关于apache - 使用 apache mod_proxy 时应用程序错误直通,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2531895/

相关文章:

未检查具有 Tomcat 代理和 htaccess 文件的 Apache HTTPD VirtualHost

html - 如何停止搜索引擎索引维护页面

连接到我的本地 XAMPP 托管网站时 SSL 库中的 Android 失败

mod-rewrite - 从一个域代理/重写到另一个域的 lighttpd 配置

apache - ProxyPreserveHost 似乎对我没什么用

mysql - 托管 magento 的 Plesk VPS 问题出现问题。 #sql_1ed7_0.MYD in/tmp 导致服务器瘫痪

python - 如果我对 AJAX 请求执行 "long-polling"...这对我的线程意味着什么?

apache2 - apache代理模块给出403禁止错误

lighttpd - 使用 Lighttpd mod_proxy 代理子文件夹

apache - 使用 mod_include 和 mod_proxy 包含远程 .shtml 文件时出现乱码