如何在 Apache 中排除特定的代理 URL 请求 ?

Apache 的 mod_proxy 模块允许您使用 ProxyPass 和 ProxyPassReverse 指令将请求转发到另一个服务器。在某些情况下,您可能希望将某些 URL 从代理中排除。在本教程中,我将向您展示如何 在Apache 中从 ProxyPass 中排除特定的 URL 地址。
假设有一些静态内容存储在 "/var/www/html/static" 目录下,应用程序以 /static URL 开头对外提供访问服务。您想所有以 /static 开头的 URL 直接从目录提供服务,而不需要代理它们。
您可以在主要的 ProxyPass 设置之前添加以下配置来实现这一点。
ProxyPass /static !
Alias "/static" "/var/www/html/static"
! 符号告诉 apache,不要代理以 /static 开头的 URL 请求。static 别名将 URL 映射到 "/var/www/html/static" 目录。
确保在 ProxyPass 配置之前添加了上述配置,示例如下:
<VirtualHost *:80>
ServerName example.com
ProxyPass /static !
Alias "/static" "/var/www/html/static"
<Directory "/var/www/html">
Require all granted
</Directory>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
保存更改,重启 Apache 服务
sudo systemctl restart apache2
我的开源项目
评论已关闭
