如何向 apache 反向代理规则添加例外

如何向 apache 反向代理规则添加例外

我正在尝试设置 Apache 反向代理,以便将请求代理到在 8080 上运行的另一个应用程序。但是,我希望直接为某些目录提供服务,而不是转发到代理。我想要的是:

http://本地主机/-> http://localhost:8080/myapp
http://localhost/images->/var/www/html/images
http://localhost/anything-else -> http://localhost:8080/myapp/anyhthing-else

我当前的 httpd.conf 是

ProxyRequests Off
ProxyTimeout 600
ProxyPreserveHost On
ProxyPass / http:// localhost:8080/
ProxyPassReverse / http:// localhost:8080/
RewriteEngine On
RewriteRule ^/(.*) http:// localhost:8080/VirtualHostBase/http/%{SERVER_NAME}:80/myapp/VirtualHostRoot/$1 [L,P]

我应该做什么配置才能使本地路径例外起作用?

谢谢你,塔尼娅

答案1

我找到了解决方案。

要排除 /myapp,我需要添加

ProxyPass /myapp ! 

作为第一个 ProxyPass 指令,排除应该先于一般规则。

我还需要补充

RewriteCond !^/myapp/(.*)

在 RewriteRule 之前将其从 RewriteRule 中排除

相关内容