Comment activer ou désactiver sélectivement SSL pour certaines URL dans Tomcat 7

J'utilise SSL dans Tomcat 7, créez un magasin de server.xml et configurez server.xml , puis configurez en web.xml comme ci-dessous

 <security-constraint> <!-- SSL enforced --> <web-resource-collection> <web-resource-name>SSL</web-resource-name> <url-pattern>/inspectionGp/*</url-pattern> <url-pattern>/inspection/*</url-pattern> <url-pattern>/inspGpDt/*</url-pattern> <url-pattern>/inspDt/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> 

Cela fonctionne pour SSL, ces URL restreintes sont obligées d'utiliser uniquement SSL, mais d'autres URL peuvent également utiliser HTTP et HTTPS, c'est étrange, je ne veux pas utiliser HTTPS pour les URL qui ne sont pas configurées dans <url-pattern> . J'utilise <transport-guarantee>NONE</transport-guarantee> , ce qui entraînera que toutes les URL supportent HTTP et HTPPS. Est-ce que quelqu'un peut aider à expliquer comment je peux le résoudre?

One Solution collect form web for “Comment activer ou désactiver sélectivement SSL pour certaines URL dans Tomcat 7”

Considérez certainement l'utilisation de SSL pour tout. Beaucoup de nos clients vont dans cette direction et je le recommand pleinement.

Si vous mélangez HTTP / HTTPS et souhaitez maintenir l'état de la session, vous devrez contourner certains des mécanismes de Tomcat qui tentent d'éviter cela (cookies sécurisés uniquement pour JSESSIONID). Une fois que vous avez réussi à faire cela, quelqu'un pourrait éventuellement détourner une session du HTTP et prendre des actions sur le côté HTTPS.

Tout ce qui a dit, si vous voulez avoir ce niveau de contrôle fin, vous pourriez envisager d'utiliser ServletFilter. Le filter pourrait être appliqué d'abord dans le file web.xml et être appliqué au répartiteur "DEMANDER" sur le model d'URL "/ *" (ou simplement les templates où vous devez effectuer cette détermination).

Le filter examinerait alors la request. Si c'est un path qui doit être HTTPS, il vérifiera la request.isSecure (). Si elle n'était pas sécurisée, elle émettrait une redirection 301 vers le côté HTTPS, en vous assurant de maintenir le path de requête complet et tous les parameters d'URL. De même, redirect de HTTPS vers HTTP.

Je suis passionnément amoureux des filters de servlet. Ils sont le couteau suisse de la gestion des requests. Il n'y a rien que vous ne pouvez pas faire. Plus important encore, le comportement fait partie de l'application et non une personnalisation de Tomcat. Vous pouvez déployer l'application n'importe où et cela "fonctionnera".

  • Mon server apache tomcat sera-t-il disponible de l'extérieur?
  • Comment bloquer l'access à un file d'être desservi par Tomcat?
  • Est-ce une pratique de la Meilleure indussortinge pour redémarrer périodiquement les servers Web?
  • Mise à l'échelle d'une application Web horizontalement dans Tomcat (équilibrage de charge / clustering)
  • Tomcat derrière Apache httpd - ignorant RewriteRule?
  • SSL / TLS via Tomcat - magasin de keys remplacé, encore faible DH
  • question d'équilibrage de charge Tomcat
  • Virtualhost Apache et Tomcat
  • le port vers l'avant 80 à 8080 a échoué
  • Erreurs graves dans la configuration solr: Erreur lors du chargement de la class
  • Tomcat 7 problème de barre oblique avec les webapps
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.