Apache ProxyRequest 简单测试?

Apache ProxyRequest 简单测试?

我想知道 ProxyPass 是否有效。

ProxyPass  /dontexist.php  http://localhost:8888/allo.html
ProxyPassReverse /dontexist.php http://localhost:8888/allo.html

当我这样做时,它没有返回 allo.html 的内容,而是返回了 404 错误。这是否意味着代理不起作用?

答案1

如果代理不工作,您可能会收到502响应代码。

如果您设置LogLevel debug然后检查您的 Apache error_log,您就会非常清楚其行为是什么。

您还应该验证您是否可以访问端口 8888 上的 HTTP 服务器,以及它是否响应 /allo.html:

curl http://localhost:8888/allo.html

如果您收到 200 响应,则您的代理不工作(因为它返回 404)。

ProxyPass/ProxyPassReverse 的第一个参数是path,我个人从未使用它给出包含文件名的路径(但我认为我已经通过 mod_rewrite 使用 [P] 标志完成了它。这很可能是你的问题。

我所见过(并使用过)的 ProxyPass 的典型格式指定不包含文件名的路径,例如:

ProxyPass / http://localhost:8888/

(也许其他人能够根据经验澄清这一特定的细微差别)

相关内容