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

Tomcat et TomEE Java Discussion :

[Tomcat 8.0.15] Réécriture de l'URL de base RewriteValve


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut [Tomcat 8.0.15] Réécriture de l'URL de base RewriteValve
    Bonjour, j'installe un serveur sur lequel je veux mettre 2 sites java.
    Avant j'utilisais apache et tomcat couplés via ajp et le mod_jk mais cette fois je ne veux plus faire pareil, je fais écouter tomcat sur le port 80, il me reste à supprimer le dossier de mon appli java_ee en effet si je déploie mon projet j'aurais une url de la forme http://www.monsite.com/appli/ je veux bien sur une url sans appli donc je cherche tous les moyens possible et je suis tombé la dessus : http://tomcat.apache.org/tomcat-8.0-doc/rewrite.html, comme toujours j'ai un peu de mal avec la doc officielle de tomcat, j'ai un peu du mal à m'y retrouver c'est pourquoi j'aimerais savoir si l'un d'entre vous a déjà utilisé cette solution, qu'il puisse me donner un exemple (j'ai du mal avec les règles d'écriture, je ne vois pas quoi mettre), ou alors si vous avez des liens de tutos plus détaillés (français ou anglais).
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    je suppose que tu veux un site qui réponde sur monsite.com et un autre sur monautresite.com ?


    Dans ce cas ce n'est pas le rewrite dont tu as besoin, mais le virtualHosting, bien plus simple à mettre en place. Tu définis un répertoire "webapps" par virtualHost, ensuite tu met ton application java en tant que root webapp et c'est réglé.
    http://tomcat.apache.org/tomcat-8.0-...ing-howto.html


    Pour le reste, j'ose espérer que tu as attribué le port 80 à tomcat autrement qu'en lui donnant les droits root... Parce que c'est l'intérêt principal de faire tourner apache en front end, c'est lui qui gère le droit root requis pour le port 80 en évitant les risques de sécurité associés (changement d'utilisateur immédiatement après l'acquisition d'un socket).

  3. #3
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    je suppose que tu veux un site qui réponde sur monsite.com et un autre sur monautresite.com ?


    Dans ce cas ce n'est pas le rewrite dont tu as besoin, mais le virtualHosting, bien plus simple à mettre en place. Tu définis un répertoire "webapps" par virtualHost, ensuite tu met ton application java en tant que root webapp et c'est réglé.
    http://tomcat.apache.org/tomcat-8.0-...ing-howto.html


    Pour le reste, j'ose espérer que tu as attribué le port 80 à tomcat autrement qu'en lui donnant les droits root... Parce que c'est l'intérêt principal de faire tourner apache en front end, c'est lui qui gère le droit root requis pour le port 80 en évitant les risques de sécurité associés (changement d'utilisateur immédiatement après l'acquisition d'un socket).
    pour le port 80 j'ai juste changer le port dans le conf/server.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <Connector port="80" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="443" />
    je vais étudier le lien merci !

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    normalement, les applications non root sous linux / non administrateur sous windows n'ont pas le droit de se brancher sur ce port.

  5. #5
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    normalement, les applications non root sous linux / non administrateur sous windows n'ont pas le droit de se brancher sur ce port.
    c'est à dire ? c'est pas bien ce que j'ai fait ?, j'ai juste changé la config de base qui était sur le port 8080.


    sinon cette vidéo m'a aidée, je finalise l'opération demain :

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ton tomcat, il tourne sous quel nom d'utilisateur, sous quel os? Changer le numéro de port, c'est pas un soucis, c'est prévu pour et tu l'a fais comme il fallait. La particularité, par exemple sous linux, c'est que les autres utilisateurs que root n'ont pas le droit de prendre un port <1024. Donc si tomcat tourne sous linux et qu'il arrive à avoir le port 80 c'est qu'il est root. Hors la doc de tomcat est très clair, il ne faut pas le faire tourner comme root, c'est dangereux.

  7. #7
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Ton tomcat, il tourne sous quel nom d'utilisateur, sous quel os? Changer le numéro de port, c'est pas un soucis, c'est prévu pour et tu l'a fais comme il fallait. La particularité, par exemple sous linux, c'est que les autres utilisateurs que root n'ont pas le droit de prendre un port <1024. Donc si tomcat tourne sous linux et qu'il arrive à avoir le port 80 c'est qu'il est root. Hors la doc de tomcat est très clair, il ne faut pas le faire tourner comme root, c'est dangereux.
    Merci j'ai créé un utilisateur tomcat, par la même occasion j'ai fait un script dans le but que celui ci se lance automatiquement au démarage si jamais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #! /bin/bash
    ### BEGIN INIT INFO
    # Provides: tomcat-8.0.15
    # Required-Start: $network $remote_fs $syslog
    # Required-Stop: $network $remote_fs $syslog
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: tomcat
    # Description: tomcat
    ### END INIT INFO
     
    export TOMCAT_HOME=/usr/share/apache-tomcat-8.0.15
     
    function tomcatStart {
    	su - tomcat -c $TOMCAT_HOME/bin/startup.sh
    	echo "démarage tomcat 8.0.15...."
    }
     
    function tomcatStop {
    	$TOMCAT_HOME/bin/shutdown.sh
    	echo "arrêt tomcat 8.0.15.."
    }
     
    case $1 in
    start)
    	tomcatStart;;
    stop)
    	tomcatStop;;
    restart)
    	tomcatStop
    	tomcatStart;;
    *)
    	echo "utilisation : tomcat start|stop|restart"
    	exit 1;;
    esac
    exit 0
    si je lance le script, s'affiche à l'écran la même chose que quand je fait un startup.sh sous root mais le serveur est inaccessible comme si tomcat ne fonctionnait pas.
    Merci

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Regarde ton tomcat.log, je suis sur qu'il doit y avoir un binding error quelque part.

  9. #9
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Regarde ton tomcat.log, je suis sur qu'il doit y avoir un binding error quelque part.
    oui un problème avec le fait que j'ai configuré sur le port 80, du coup j'ai remis 8080 et fait une redirection via iptables. Ce qui m'embète c'est que j'ai du ouvrir le port 80, je sais pas si on peut faire autrement.
    Merci.

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben si tu veux écouter sur le port 80, il faut l'ouvrir oui

    iptables est une solution effectivement simple pour rediriger 80 vers 8080 discrètement. L'autre c'est l'apache en front end.

  11. #11
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    ben si tu veux écouter sur le port 80, il faut l'ouvrir oui

    iptables est une solution effectivement simple pour rediriger 80 vers 8080 discrètement. L'autre c'est l'apache en front end.
    ah j'ai vu que je me suis trompé en tapant mon message je voulais dire, il faut ouvrir le port 8080, sinon ça bloque, je sais pas si on peut faire de telle sorte que 8080 soit fermé.

  12. #12
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Je ne sais pas si on peut configurer iptables pour que seules les redirection iptables vers 8080 soient autorisées, pas les accèq direct.

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

Discussions similaires

  1. Réécriture d'une URL
    Par Spidermeu dans le forum ASP.NET
    Réponses: 13
    Dernier message: 05/08/2009, 22h25
  2. Réponses: 13
    Dernier message: 15/06/2009, 14h55
  3. Erreur lors de la réécriture d'une url
    Par steph0612 dans le forum Apache
    Réponses: 3
    Dernier message: 07/11/2006, 12h20
  4. Réécriture de l'url
    Par kirsoul dans le forum Langage
    Réponses: 1
    Dernier message: 25/04/2006, 17h53
  5. [tomcat]j'ai un probleme avec mes URLs
    Par nouaman dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 27/05/2004, 00h10

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