我有一个用于反向代理的文件夹的 apache:
<VirtualHost *:80>
...
ProxyPass /site http://server.local:8989/site
ProxyPassReverse /site http://server.local:8989/site
</VirtualHost *:80>
如何禁用 url 的 /site/IMAGES/* 代理?
我有一个用于反向代理的文件夹的 apache:
<VirtualHost *:80>
...
ProxyPass /site http://server.local:8989/site
ProxyPassReverse /site http://server.local:8989/site
</VirtualHost *:80>
如何禁用 url 的 /site/IMAGES/* 代理?
在第一个之前添加
ProxyPass
:有关完整详细信息,请参阅mod_proxy 文档。
在您提出这个问题时它不可用,但如果您使用的是 Apache HTTPD 2.4 或更高版本,那么如文档中所述,您可以使用两个位置块来完成它:
位置块按顺序解释,因此您需要将无代理块放在代理块之后。或者,如果您想将代理指令保持在虚拟主机级别,裂变给出的答案就可以了!
这对我的情况来说还不够。
代理通行证 /site/IMAGES/ !
我想排除一些路径,而不仅仅是那种情况,我在网上搜索,所有人都在谈论 t=something like this,
ProxyPass /site/IMAGES/ !
这仅在您只想排除一条路径时有效,效果很好!但我想排除一些路径而不仅仅是一个,所以我试着这样做,
ProxyPass /site/IMAGES/!
代理通行证 /site-web/ !
也不起作用,一次只绕过一条路径是有效的。所以感谢 Gagravarr,我可以使用 Apache 的 Location 来做我需要的事情,并且我可以 ProxyPass 排除一些路径,例如,
<Location "/admin"> ProxyPass "!" </Location> <Location "/mail"> ProxyPass "!" </Location> <Location "/html"> ProxyPass "!" </Location> <Location "/shared"> ProxyPass "!" </Location> ProxyPreserveHost On ProxyPass / http://193.168.1.3/ ProxyPassReverse / http://192.168.1.3/
我认为这可能会对我的情况有所帮助。