使用 Apache 屏蔽/更改某些响应代码

问题描述 投票:0回答:1

我有一个 apache http 服务器 (A),启用了 mod_proxy,将所有请求发送到第二台机器 (B)。

在正常情况下,请求 X 将发送到服务器 A,然后发送到服务器 B。服务器 B 将向服务器 A 返回响应,服务器 A 又将响应发送给用户。

我想屏蔽用户的一些响应代码,例如,如果服务器 B 返回 403,我希望服务器 A 返回 500 给用户。

我一直在对物质进行一些研究,但无法找到具体的答案。我的第一个想法是尝试 ErrorDocument 但当我尝试时没有任何反应(可能是由于代理)。我的下一个想法是使用 mod_rewrite 但似乎 Apache 的 conf 文件中的 IF 语句没有给我查看返回代码的选项。

这对于 Apache(也许是 mod)是否可行,或者我是否必须依赖外部应用程序?我希望完全控制返回的答案,这样不仅可以更改响应状态,而且可以更改整个 html 本身(如果可能的话)。

欢迎任何建议。

apache http proxy response
1个回答
0
投票

mod-proxy 有一个 ProxyErrorOverride 指令,与 mod_include 配合使用,允许您提供您选择的内容以响应代理源(后面)HTTP 错误代码 (400-599)。

我不清楚是否可以更改返回给客户端的实际响应代码,但如果您尝试一下,请在回复中告诉我们!

© www.soinside.com 2019 - 2024. All rights reserved.