Назад | Перейти на главную страницу

Используйте tomcat webapp в качестве корневого пути для виртуального хоста apache / mod-jk

Я настроил сервер, на котором расположено несколько доменов, и более чем с одним из них связан ajp13-worker. Файл конфигурации выглядит так:

<VirtualHost *:80>
        ServerAdmin my@email
        ServerName mydomain
        ServerAlias www.domain
        DocumentRoot /home/kleber/www/loja
        JkMount /app* ajp13_worker
        ...
</VirtualHost>

когда я развертываю некоторые веб-приложения, например appOne.war и appTwo.war в мой каталог веб-приложений tomcat, я могу получить к ним доступ, используя что-то вроде этого: https://mydomain/appOne и https://mydomain/appTwo.

Как я мог настроить mod-jk плагин с tomcat и apache чтобы я мог получить доступ к некоторым из этих веб-приложений как https://mydomain/ только? В некотором смысле я мог определить одно веб-приложение для каждого домена, используя mod-jk ajp13-worker в качестве корневого пути и позволяет мне продолжать получать доступ к веб-приложениям appOne.war и appTwo.war как прежде.

Обновить

<VirtualHost *:80>
        ServerAdmin ...
        ServerName ...
        ServerAlias ...
        DocumentRoot /home/kleber/www/loja
        JkMount /app* ajp13_worker

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        RewriteEngine on
        RewriteCond %{SERVER_NAME} =... [OR]
        RewriteCond %{SERVER_NAME} =...
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

Если вы хотите сделать одно из веб-приложений доступным в корневом контексте, вы можете переименовать файл war в ROOT.war и повторно развернуть его. Раньше это работало, по крайней мере, на tomcat8 ...

Вам нужна внутренняя перезапись:

<VirtualHost *:80>
    ServerAdmin my@email
    ServerName loja-de-software.net.br
    ServerAlias www.loja-de-software.net.br
    DocumentRoot /home/kleber/www/loja
    JkMount /app* ajp13_worker

    RewriteEngine  on

    RewriteCond %{HTTP_HOST} loja-de-software.net.br
    RewriteRule /(.*) /appOne/$1 [PT,END]

</VirtualHost>