如何使用两个上下文配置 Apache 代理:“/”和“/dev”

如何使用两个上下文配置 Apache 代理:“/”和“/dev”

我的服务器上运行着 2 个 AJP 服务,并且有一个 Apache 2.4 用于代理。

我想要映射这个:

# in-development environment
<Location "/dev">
    ProxyPass ajp://127.0.0.1:3001/dev/
</Location>

# in production environment
<Location "/">
    ProxyPass ajp://127.0.0.1:3000/
</Location>

但是当我访问http://我的服务器/dev它代理ajp://127.0.0.1:3000/而不是ajp://127.0.0.1:3001/

答案1

这是因为重叠网络空间由指令处理<Location>。如 Apache 文档中所述,

为了获得两个重叠的 URL,必须考虑某些部分或指令的评估顺序。例如<Location>

<Location "/foo">
</Location>
<Location "/foo/bar">
</Location>

相关内容