Виртуальный хост для pgadmin4 и обратного прокси-сервера tomcat работает, только если в 1 виртуальном хосте нужны отдельные файлы conf - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть сервер Apache с pgadmin4 (www.example.com/pgadmin4) там и для определенного местоположения (www.example.com/demo) Мне нужно перенаправить прокси на сервер Tomcat.

Это работает, если я помещаю обе эти директивы в 1 VirtualHost, но я хотел бы использовать 2 отдельных файла .conf, и я не могу заставить его работать.

Я пробовал ServerPath, Alias, но я простоне могу его получить.

Это pgadmin4.conf (если оба в 1, что работает):

<VirtualHost *:80>
LoadModule wsgi_module modules/mod_wsgi.so
WSGIDaemonProcess pgadmin processes=1 threads=25
WSGIScriptAlias /pgadmin4 /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi

<Directory /usr/lib/python2.7/site-packages/pgadmin4-web/>
    WSGIProcessGroup pgadmin
    WSGIApplicationGroup %{GLOBAL}
    <IfModule mod_authz_core.c>
            # Apache 2.4
            Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
            # Apache 2.2
            Order Deny,Allow
            Deny from All
            Allow from 127.0.0.1
            Allow from ::1
    </IfModule>
</Directory>

RewriteEngine on
RewriteRule ^/demo$ demo/ [R]

<Location "/demo/">
  ProxyPass ajp://www.example.com:8009/demo/
  ProxyPassReverse ajp://www.example.com:8009/demo/
</Location>

</VirtualHost>

И если я уберу часть из "RewriteEngine on"до "/ Location" и поместите это во второй файл demo.conf, например, так:

<VirtualHost *:80>
ServerPath /demo/

RewriteEngine on
RewriteRule ^/demo$ demo/ [R]

<Location "/demo/">
  ProxyPass ajp://www.example.com:8009/demo/
  ProxyPassReverse ajp://www.example.com:8009/demo/
</Location>

</VirtualHost>

Второй более или менее игнорируется, и обратный прокси не работает.Оба должны работать на одном и том же имени и IP-адресе сервера.

...