2011-04-10 3 views
0

Actuellement, lorsque je déploie un fichier war sur Tomcat, il peut être téléchargé depuis l'URL via quelque chose comme foo.com/myapp.war.Empêcher l'accès au fichier war sans utiliser .htaccess/apache conf

La plupart des emplacements vous recommandent de placer une entrée dans un fichier .htaccess pour empêcher l'accès public aux fichiers war, ou à défaut une entrée équivalente dans votre configuration Apache.

Malheureusement, mon hôte ne fournit pas l'accès à la configuration Apache (bien que je puisse accéder aux configs Tomcat) et les fichiers .htaccess ne fonctionnent pas pour tous les environnements d'hébergement liés à Tomcat/Java. Assez décevant. Ils ont été plutôt inutiles à cet égard. Sans avoir recours à quelque chose comme «trouver un autre hôte» (autre que ce problème, ils vont bien - je préfère rester ici jusqu'à ce que mon application devienne trop grande), y a-t-il autre chose que je puisse faire pour empêcher les utilisateurs publics fichiers de guerre, tout en permettant à Tomcat de déployer les applications lorsqu'il les analyse?

Par exemple, est-il possible de spécifier un répertoire pour que Tomcat scanne les fichiers war tout en déployant la guerre dans les répertoires publics?

Merci.

+0

Quel hôte utilisez-vous? Quelle version de Tomcat? Les fichiers WAR dans le dossier de déploiement sont censés être inaccessibles. – BalusC

+0

dailyrazor.com, Tomcat v6. En ce qui concerne toomasr dit - je ne pense pas que mon Tomcat mis en place est standard. Ma maison de Tomcat a/conf,/logs,/serveur,/temp et/travail. Non/répertoire webapp qui est ce que je vois sur ma machine locale. Les guerres doivent être placées dans/public_html pour être récupérées par Tomcat il apparaît ... c'est peut-être une meilleure question pour serverfault ... –

+0

Je préfère contacter l'équipe de support derrière cet hôte. Si c'est insoluble, je chercherais un autre hôte. – BalusC

Répondre

1

Il est probablement préférable de demander à https://serverfault.com/. Tout se résume à la configuration de Tomcat.

L'installation de vanilla aura un dossier appelé webapps sous CATALINE_HOME. Vous y mettez vos archives WAR (elles sont automatiquement extraites et déployées). Ces dossiers ne seront pas accessibles depuis HTTP (vous ne pouvez pas télécharger les archives WAR à partir de certaines URL comme /webapps/my-test.war). Ces applications dans le dossier webapps sont déployées dans certaines racines contextuelles. Par exemple, une application my-test.war sera déployée par défaut en tant que yourhost.com/my-test/.

Si vous pouvez télécharger vos archives WAR sur foo.com/myapp.war, vous pouvez peut-être vérifier ce que fait l'application CATALINA_HOME/webapp/ROOT. Par défaut, il est déployé sous foo.com. Demandez à l'hôte les fichiers de configuration Tomcat pour déterminer le type de configuration personnalisée qu'ils utilisent.

1

Vous pouvez placer vos fichiers .war dans n'importe quel emplacement auquel Tomcat a accès. Mais vous devrez en parler à Tomcat, alors ça les ramassera. Vous pouvez le faire en plaçant un fichier XML de configuration dans

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

Il y a des échantillons sur ce qu'il faut mettre dans ce fichier myWebapp.xml, e. g. here, étape "4)". Et bien sûr, the official documentation.

Questions connexes