Apache-2.4

如何使用 2 個上下文配置 apache 代理:“/”和“/dev”

  • May 16, 2016

我的伺服器中執行了 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://myserver/dev它代理到ajp://127.0.0.1:3000/而不是ajp://127.0.0.1:3001/.

這是因為指令處理重疊 Webspace<Location>的方式。如 Apache 文件中所述,

為了有兩個重疊的 URL,必須考慮評估某些部分或指令的順序。這<Location>將是:

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

引用自:https://serverfault.com/questions/777030