Прошу простить меня за незнание этой темы. Я читал и читал, искал и искал, но все еще борюсь с настройкой.
Я пытаюсь настроить свой httpd.conf, чтобы разрешить один домен с двумя каталогами для разрешения двух разных экземпляров tomcat.
www.example.com/first
<VirtualHost "ip address":80>
ServerName example/first
ErrorLog /var/log/httpd/first_error.log
CustomLog /var/log/httpd/first_access.log combined
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
www.example.com/second
<VirtualHost "ip address":80>
ServerName example/second
ErrorLog /var/log/httpd/second_error.log
CustomLog /var/log/httpd/second_access.log combined
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / ajp://localhost:8010/
ProxyPassReverse / ajp://localhost:8010/
</VirtualHost>
Я знаю, что это неправильно, и думаю, что должен использовать <Directory>
, или мне следует указать экземпляр tomcat в:
ProxyPass /example1 ajp://localhost:8010/
ProxyPass /example2 ajp://localhost:8009/
Пожалуйста, пришлите помощь. Припасы / боевой дух низкие.
или ссылки на примеры ... Спасибо !!
Для вашего первого прокси-сервера с разделенным URI я рекомендую избегать <Location>
и <Directory>
. Каталоги отображаются в фактические каталоги файловой системы, а местоположения сопоставляются с путями URI. Последнее - это то, что вы пытаетесь достичь, но вам на самом деле не нужен контейнер, чтобы это работало. (это просто делает конфигурацию чище)
Используйте один <VirtualHost>
, с участием ProxyPass /first ajp://localhost:8009
и ProxyPass /second ajp://localhost:8010
. Я мог бы дать вам полную конфигурацию, но я бы хотел, чтобы вы немного постарались. Если вы решите вышеуказанную путаницу, вы очень близки к тому, чтобы это сделать.
Решено.
<VirtualHost "ip address":80>
ServerName example.com
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
ProxyPass /first/ ajp://localhost:8009/first/
ProxyPass /second/ ajp://localhost:8010/second/
</VirtualHost>