我有一个反向代理,我需要向其中添加一个应用程序代理上下文(路径),以在所有其他基于名称的虚拟主机上正常工作。例如,我们在conf.d下的单独.conf文件中有一些这样的虚拟主机:
app.conf:
<VirtualHost *:80>
ServerName app.domain.tld
ServerAlias app.site.domain.tld
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://app.backend.domain.internal:8080/
ProxyPassReverse / http://app.backend.domain.internal:8080/
</VirtualHost>
app2.conf
<VirtualHost *:80>
ServerName app2.domain.tld
ServerAlias app2.site.domain.tld
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://app2.backend.domain.internal:8080/
ProxyPassReverse / http://app2.backend.domain.internal:8080/
</VirtualHost>
我希望能够运行另一个配置,该配置将一对路径代理到所有其他配置,例如:
<VirtualHost *:80>
ProxyPreserveHost on
ProxyRequests Off
<Location /myapi>
ProxyPass http://myapi.backend.domain.internal:2005
ProxyPassReverse http://myapi.backend.domain.internal:2005
</Location>
<Location /myapi2>
ProxyPass http://myapi2.backend.domain.internal:2143
ProxyPassReverse http://myapi2.backend.domain.internal:2143
</Location>
</VirtualHost>
这样我们可以转到https://app.domain.tld/myapi或https://app2.domain.tld/myapi等,而无需在每个配置中添加这些位置节。 Apache和mod_proxy是否可能?如果是这样,我在寻找陷阱吗?到目前为止,我还没有运气获得将这些代理路径添加到彼此的虚拟主机/服务器名称的“空白”配置。如果我在每个配置中都包含位置,则效果很好,但这就是我要远离的位置。