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".

  • Tomcat - Comment vérifier les parameters de la memory actuellement utilisés
  • Démarrage de Tomcat provoque "java.io.FileNotFoundException: ../logs/dc.log (Aucun file ou directory)" dans catalina.out
  • Existe-t-il un apache ou Nginx équivalent à l'arrêt de drain de l'IIS?
  • Aperçu de la configuration JSP / Tomcat / Apache sur Fedora Core
  • Configurer HAProxy avec les servers Apache et Tomcat
  • Problème de configuration de Railo-Apache: "example.com" indique / var / www tandis que "example.com:8888" pointe vers Railo
  • Définir les pages d'erreur pour toutes les applications dans Tomcat
  • Impossible de démarrer tomcat6: erreur Java (Exception dans le thread "main")
  • Php sur Tomcat 7 possible?
  • Apache mod_jk remplaçant les règles mod_rewrite
  • Peut se connecter à Apache Tomcat avec localhost
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.