我试图build立一个与Apache的反向代理,并在大多数情况下,它与ProxyPass很好地工作。 我想排除我能理解的一个目录! 指标,logging在这里: http : //httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse
所以我有:
ProxyPass /examples ! ProxyPass / http://localhost:3000/
这工作正常,如果我去/examples存在的/examples的文件,但如果我打一个地址,导致404错误,请求获取代理,而不仅仅是404返回。
我宁愿404返回。 在文档中我看不到任何东西 – 有谁知道它是如何完成的? 非常感谢!
这是与Apache v2.4.6。
取决于您的Apache设置,默认错误文档已被定义在您的ProxyPass排除的/ examples位置之外。 我的RHEL 6有默认的:
Alias /error/ "/var/www/error/" ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
这将导致任何404消息被redirect到/error/HTTP_NOT_FOUND.html.[en | es | de | fr ] /error/HTTP_NOT_FOUND.html.[en | es | de | fr ] /error/HTTP_NOT_FOUND.html.[en | es | de | fr ]取决于和浏览器的接受语言设置生成404错误。
在你的情况下,这意味着/examples/no-such-file的请求仍然会被redirect到http://localhost:3000/ 。
其次,您可能需要调查从示例configuration中省略的ProxyPassReverse指令的含义。