Доброе утро, ребята!
Сегодня я играю со своей новой установкой tomcat, и все работает довольно гладко, за исключением того, что я получил странную реакцию при использовании менеджера с виртуальными хостами.
Проблема возникает, когда я пытаюсь развернуть веб-приложение на моем виртуальном хосте A1. Это вполне работает, загрузка работает, но не запускает приложение.
Когда я пытаюсь развернуть другое веб-приложение на vhost A2, вообще не работает, я даже не могу загрузить архив.
Странно то, что оба виртуальных хоста используют один и тот же файл конфигурации manager.xml, размещенный в $ {Catalina.base} / conf / Catalina / [engine] / [hostname] /manager.XML.
Этот файл вызывает моего главного менеджера, и тот же самый менеджер работает отлично.
Когда я сказал, что менеджер странно вылетает на моих vhosts, это потому, что он возвращает сообщение об ошибке 503, в котором меня просят установить роли и пароль пользователя tomcat в tomcat-users.xml, но дело в том, что этот файл уже установлен по умолчанию файл, предоставленный tomcat.
Если я загружаю свои приложения непосредственно в каталог хоста appbase / docbase, он работает отлично благодаря директивам AutoDeploy и DeployOnStartup в файле конфигурации server.xml.
Так что, если у кого-нибудь из вас есть подсказка, я пойму ;-)
Итак, я решил свою проблему сам, а потом объясню:
Менеджер Tomcat и приложения по умолчанию защищены CSRF. Поскольку я использую VHosts за обратным прокси-сервером, который передает информацию об IP / домене клиента, tomcat обнаружил что-то слишком странное для него и затем отправил ответ 403.
Решение: не ретранслировать исходный IP / домен.