2010-06-30 5 views
5

J'ai un serveur Tomcat 6 et je veux à peu près tout pour être derrière SSL, mais je veux qu'un servlet soit accessible via non-SSL. Est-il possible de configurer Tomcat de cette façon? Il est actuellement configuré pour transmettre toutes les demandes au port sécurisé.Utiliser à la fois SSL et Non-SSL dans Tomcat 6

Répondre

5

Pour ce faire, vous pouvez modifier le fichier web.xml de votre application Web.

Je suppose que vous avez déjà l'application web mis en place pour forcer toutes les requêtes vers https avec <transport-guarantee> CONFIDENTIAL comme ci-dessous

<security-constraint> 
     <display-name>Example Security Constraint</display-name> 
     <web-resource-collection> 
     <web-resource-name>Protected Area</web-resource-name> 
    <!-- Define the context-relative URL(s) to be protected --> 
     <url-pattern>/*</url-pattern> 
    <!-- If you list http methods, only those methods are protected --> 
    <http-method>DELETE</http-method> 
     <http-method>GET</http-method> 
     <http-method>POST</http-method> 
    <http-method>PUT</http-method> 
     </web-resource-collection> 
     <auth-constraint> 
     <!-- Anyone with one of the listed roles may access this area --> 
     <role-name>tomcat</role-name> 
    <role-name>role1</role-name> 
     </auth-constraint> 
     <user-data-constraint> 
<transport-guarantee>CONFIDENTIAL</transport-guarantee> 
</user-data-constraint> 
    </security-constraint> 

Maintenant, ajoutez un autre bloc ci-dessous ce pour le servlet que vous souhaitez contourner https pour. Cette URL openforall.jsp sera désormais accessible via http.

Remarque: Cette URL sera également disponible sur https si quelqu'un y accède de cette façon.