У меня есть сервер 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-адресе сервера.