Запрет доступа к файлу war без использования .htaccess / apache conf - PullRequest
0 голосов
/ 10 апреля 2011

В настоящее время, когда я развертываю файл war в Tomcat, его можно загрузить с URL через что-то вроде foo.com/myapp.war.

В большинстве мест рекомендуется помещать запись в файл .htaccess, чтобы предотвратить публичный доступ к любым файлам военных действий или при отсутствии такой же записи в вашей конфигурации Apache.

К сожалению, мой хост не предоставляет доступ к конфигурации Apache (хотя я могу получить доступ к конфетам Tomcat), а файлы .htaccess не работают для всех хостинговых сред, связанных с Tomcat / Java. Довольно разочаровывает. Они были довольно бесполезны в этом отношении.

Не прибегая к чему-то вроде «поиска другого хоста» (кроме этой проблемы, с ними все в порядке - я бы предпочел оставаться здесь, пока мое приложение не станет слишком большим), есть ли что-то еще, что я могу сделать, чтобы запретить публичным пользователям доступ к моей войне файлы, но все же позволяют Tomcat развертывать приложения во время их сканирования?

Например, можно ли указать один каталог для Tomcat, который будет сканировать военные файлы, и при этом развернуть войну в общедоступных каталогах?

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 апреля 2011

Вы можете разместить свои .war файлы в любом месте, к которому Tomcat имеет доступ.Но вам придется рассказать об этом Tomcat, чтобы он их подобрал.Это можно сделать, поместив файл конфигурации XML в

<CATALINA_HOME>/conf/Catalina/localhost/myWebapp.xml

. Есть примеры того, что поместить в этот файл myWebapp.xml, например, здесь , шаг "4)".И, конечно же, официальная документация .

1 голос
/ 10 апреля 2011

Вероятно, лучше спросить по https://serverfault.com/. Все сводится к тому, как настроен Tomcat.

В настройке vanilla будет папка с именем webapps в CATALINE_HOME. Вы помещаете туда свои архивы WAR (они автоматически извлекаются и развертываются). Эти папки не будут доступны по HTTP (вы не можете скачать WAR-архивы с некоторых URL, таких как /webapps/my-test.war). Эти приложения в папке webapps развернуты в некоторых контекстных корнях. Например, приложение my-test.war по умолчанию будет развернуто как yourhost.com/my-test/.

.

Если вы можете загрузить свои WAR-архивы с foo.com/myapp.war, возможно, вы сможете проверить, что делает приложение CATALINA_HOME / webapp / ROOT. По умолчанию это развернуто в foo.com. Спросите у хоста файлы конфигурации Tomcat, чтобы выяснить, какие пользовательские конфигурации они используют.

...