Как сделать TOMCAT доступным только для локального хоста, кроме одного приложения

Я запускаю сервер TOMCAT. Из-за соображений безопасности я должен ограничить доступ только к локальному хосту, но одно приложение должно быть доступно извне (с любого IP-адреса). Я попытался использовать клапан, помещенный в server.xml, но мне удалось заблокировать доступ только к определенным функциям/приложениям, таким как host-manager.

Как ограничить все, кроме одного приложения?

EDIT: эта строка внутри server.xml блокирует все, кроме localhost:

<Server>
<Service>
<Engine>
<Host>

...

<Valve className="org.apache.catalina.valves.RemoteAddrValve" 
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>

</Host>
</Engine>
</Service>
</Server>

Как добавить исключение для одного приложения, которое должно быть доступно извне?

Спасибо за помощь заранее :-)


person maciek    schedule 28.06.2019    source источник
comment
Вместо Valve вы можете написать совершенно другую конфигурацию, используя Engine & Host, а затем опубликовать нужные веб-приложения на правильном хосте.   -  person Eugène Adell    schedule 28.06.2019
comment
Можете ли вы расширить свое предложение или привести пример того, как это должно выглядеть? :-)   -  person maciek    schedule 28.06.2019


Ответы (1)


Вам нужно 2 каталога, в которых хранятся разные веб-приложения, и минимальная конфигурация выглядит так, где serverhost — это имя вашего сервера, известное в вашей сети:

<Service name="internal">
  <Connector port="8081" protocol="HTTP/1.1" address="localhost" />
  <Engine name="Engine1internal" defaultHost="localhost">
    <Host name="localhost" appBase="webapps1"></Host>
  </Engine>
</Service>

<Service name="exposed">
  <Connector port="8080" protocol="HTTP/1.1" address="192.168.1.2"/>
  <Engine name="Engine2exposed" defaultHost="serverhost">
    <Host name="serverhost" appBase="webapps2"></Host>
  </Engine>
</Service>

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

person Eugène Adell    schedule 28.06.2019
comment
Спасибо, проверю и сообщу :-) - person maciek; 28.06.2019