Графический интерфейс менеджера Tomcat

Графический интерфейс менеджера Tomcat

У меня есть сервер http://example.comс балансировщиком нагрузки, который https://example.netвыполняет разгрузку SSL и перенаправляет трафик с порта 443 на порт 8080 в http://example.com.

Сервер example.comизолирован в виртуальной сети и недоступен из интернета. Балансировщик нагрузки example.netможет достичь example.comи публично открыт для интернета.

Как настроить веб-интерфейс менеджера Apache Tomcat 8 так, чтобы он был доступен только из , http://example.com/managerно не из https://example.net/manager?

решение1

Я не знаю, какой балансировщик нагрузки вы используете, поэтому не могу дать конкретную конфигурацию для него. У меня самого есть общедоступный сервер Tomcat через Nginx, поскольку он выполняет функцию прокси-сервера.

Nginx

upstream websites {
    server 192.168.x.x:8080 fail_timeout=0;
}

server {
    listen 80;
    listen 443 ssl;
    server_name www.example.com example.com;

    location / {
            proxy_pass http://websites/;
            include proxy_params;
    }

    #SSL configuration here
}

Я также позволил Nginx выполнять терминацию и сжатие SSL, потому что им гораздо проще управлять и настраивать, и если я позже захочу создать балансировку нагрузки, я также смогу сделать это с помощью Nginx, поэтому нет смысла делать это в Tomcat. https://www.digitalocean.com/community/tutorials/how-to-add-the-gzip-module-to-nginx-on-ubuntu-14-04

https://letsencrypt.org/

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

Затем в файле Tomcat server.xml добавьте новый виртуальный хост для вашего сайта, если он еще не создан.

<Host name="www.example.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Alias>example.com</Alias>

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="test_example_access_log" suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

Затем в файле manager.xml для проекта менеджера вы можете указать, кто может получить доступ к HTML-странице менеджера, либо указать свой публичный IP-адрес, либо jump-host, поскольку, насколько я помню, по умолчанию к HTML-менеджеру может подключиться только локальный хост.

Лично я удалил проект менеджера из своей собственной установки, чтобы избежать проблем безопасности, связанных с ним, если он будет управляться неправильно и он мне не понадобится.

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="192.168.1.*" />

Задайте имя пользователя и пароль для менеджера в tomcat-users.xml, и все готово.

решение2

Настройте Proxpass/Porxyalias на веб-сервере. Для этого вам следует настроить HTTP(80), но лучше всего загружать по https с ограниченным доступом

Связанный контент