重定向之前的 Apache 反向代理

重定向之前的 Apache 反向代理

我正在尝试在特定 ServerName 上设置重定向到 https,但在重定向之前,我希望它匹配位置路径并反向代理到单独的服务器,而不是重定向到 https URL。下面是我以为它会如何工作,但它似乎在执行反向代理之前重定向。显然我的 Apache 技能不足。也许,我需要两个单独的 VirtualHosts?任何帮助都将不胜感激。

<VirtualHost *:80>
    ServerName domain.com
    <Location /console>
        ProxyPass http://internal.server.com:8000/console
        ProxyPassReverse http://internal.server.com:8000/console
    </Location>
    <Location />
        Redirect permanent / https://internal.server2.com
    </Location>
</VirtualHost>

答案1

我们不要让配置适用于所有位置,而是Redirect避免将其应用于/console。删除该<Location />部分并将其替换为:

<LocationMatch "!^/console">
    Redirect permanent / https://internal.server2.com/
</LocationMatch>

相关内容