IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Apache en mode Proxy avec Tomcat 7 pour accès HTTPS


Sujet :

Apache

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Apache en mode Proxy avec Tomcat 7 pour accès HTTPS
    Bonjour,

    Nouveau sur ce forum, vous êtes mon dernier espoir.

    J'écume depuis quelques jours la toile sans succès, pourtant je suis persuadé que je ne suis pas le seul à m'être confronté à ce problème.

    En bref, je suis sur un réseau d'entreprise disposant d'une DMZ. Je dois ouvrir une application web (JSP) interne sur l'extérieur en HTTPS.

    Mon appli interne fonctionne sous Tomcat 7, sans problèmes. De même, mon serveur Apache installé sur une machine en DMZ en mode proxy, fonctionne sans problème pour les requête HTTP classique.

    Mon souci est le passage en HTTPS, je manque de connaissances en architecture Java certainement car j'ai suivi plusieurs tutos sans succès.

    Si j'active le https sur mon serveur Tomcat, je peux sans problème accéder à mon appli en https sur mon réseau interne.

    Par contre sur Apache, j'ai essayé beaucoup de choses sans succès !
    Dois-je activer le mod_ssl sur Apache si mon appli tomcat est déjà en HTTPS ? Si oui, dois-je générer de nouveaux certificats en plus de ceux que j'ai pour Tomcat ?
    Ou alors dois-je mettre mon appli en http simple sur Tomcat et juste activer le ssl sur Apache ? (J'ai essayé ce cas, mais lors de la redirection via le proxy je perd le https, car la redirection est faite sur du http)

    Quelqu'un à déjà rencontré cette architecture et pourrait m'aider ?

    Merci d'avance à tous, et bonne journée

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Il faut bien comprendre une chose : ce n'est pas parce que tu veux que ton service soit accessible en https depuis le net qu'il faut forcément mettre du ssl jusqu'à Tomcat. C'est possible parce qu'Apache, avec mod_proxy en particulier, agit en tant que reverse proxy, et non pas en simple proxy, ce qui fait qu'il peut effectuer ce qu'on appelle une rupture de protocole.

    En fait, étant donné que Tomcat peut être appelé par Apache avec 3 protocoles différents, tu as trois options :
    Navigateur => https => Apache => http => Tomcat
    Navigateur => https => Apache => https => Tomcat
    Navigateur => https => Apache => ajp => Tomcat

    Là, tu tentes de mettre en place l'option 2 qui est la plus délicate à mettre en place

    A ta place, sauf si la sécurité de ton entreprise te l'impose, je partirais plutôt sur les 2 autres options.

    Dans tous les cas, comme je disais, les 2 accès navigateur => Apache et Apache => Tomcat sont distincts, mets en œuvre les choses progressivement. Commence par Navigateur => http => Apache => protocole de ton choix => Tomcat puis active en dernier l'accès par https à Apache.

    Si tu veux vraiment mettre du https entre Apache et Tomcat, il faut mettre en place une configuration particulière car Apache doit se comporter en tant que client SSL vis-à-vis de Tomcat et donc avoir un certificat SSL client et truster le certificat serveur de Tomcat. La doc Apache n'est pas bien faite pour ce cas. Tout ce qui est dit dans la doc de mod_proxy sur CONNECT ne s'applique pas à ton cas, c'est uniquement pour le montage d'Apache en tant que proxy et non pas reverse proxy. Regarde plutôt la doc de mod_ssl qui apporte des directives pour configurer les certificats à utiliser avec mod_proxy.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Salut Mac,

    Merci mille fois pour ta réponse ! Ça m'aide énormément.

    J'ai essayé de faire comme tu le conseilles, pas à pas, mais j'ai du faire des mauvais pas
    Aujourd'hui j'ai mon système qui fonctionne en production avec l'option
    Navigateur => http => Apache => ajp => Tomcat

    Je vais donc essayer d'implémenter l'option 3 en activant juste l'option SSL d'Apache en reverse proxy.

    Je me permet de laisser le sujet ouvert car j'ai déjà essayé une conf similaire, mais cela réagissait bizarrement, mon premier appel (externe) en https était "transformé" en HTTP lors des réponses de Tomcat (certainement dû à un problème de paramétrage du reverse proxy).

    Merci !

  4. #4
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Encore une fois merci ! Cela fonctionne !

    En même temps, maintenant cela parait tellement simple que je suis un peu furieux contre moi-même !

    Pour ce qui sont confrontés au même problème que moi j'ai fait de la façon suivante :

    Dans le server.xml de Tomcat, j'ai un Connector AJP classique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <Connector port="8009" 
                   enableLookups="false" 
                   redirectPort="8443" 
                   protocol="AJP/1.3" 
                   URIEncoding="UTF-8" />
    Au niveau Apache, dans httpd.conf, au début j'ai activé les modules suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule ssl_module modules/mod_ssl.so
    Et a la fin du fichier, activé l'import du fichier de paramétrage SSL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Secure (SSL/TLS) connections
    Include conf/extra/httpd-ssl.conf
    Et j'ai configuré mon hôte virtuel dans httpd-ssl.conf de la façon suivante :

    Ajouté l'option :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SSLProxyEngine on
     
    # Rediriger les requêtes vers mon appli interne en AJP
    ProxyPass        /toto    ajp://serveur_interne:8009/toto
    ProxyPassReverse /toto    ajp://serveur_interne:8009/toto
    Et voila, c'est tout !

    Seul mon Apache est en SSL, c'est donc lui qui détient les certificats maintenant.
    L'application interne est elle en http simple, ce qui ne pose pas de souci étant sur un réseau d'entreprise sécurisé.

    Merci encore Mac de m'avoir orienté sur la bonne voie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser gantproject en mode web avec tomcat ?
    Par pcouas dans le forum Gestion de projet
    Réponses: 0
    Dernier message: 17/01/2010, 15h18
  2. problème avec mon code pour accès au serveur ftp
    Par mimi51340 dans le forum Général Java
    Réponses: 1
    Dernier message: 03/03/2008, 23h24
  3. Couplage Apache 2.2.4 avec tomcat 5.5.20
    Par lourdo dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 02/02/2007, 18h56
  4. Création certificat pour accès https
    Par Florent08800 dans le forum Apache
    Réponses: 3
    Dernier message: 26/01/2007, 15h54
  5. [tomcat] [jsp] Problème avec driver OCI pour oracle
    Par nanardcompanie dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 01/07/2004, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo