Apache Mod_Proxy прокси нескольких Vhosts применяются ко всем - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть обратный прокси-сервер, для которого мне нужно добавить контекст прокси приложения (путь), который будет работать во всех других vhosts на основе имен.Например, у нас есть несколько таких vhosts в отдельных файлах .conf в conf.d:

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?Если да, то на что я обращаю внимание в отношении ошибок?До сих пор мне не повезло получить «общий» конфиг, добавляющий эти проксированные пути друг к другу vhost / servername.Работает просто отлично, если я включаю местоположения в каждую конфигурацию, но это то, от чего я пытаюсь отойти.

...