Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 17 sur 17
  1. #1
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut Proxy inverse avec un sous-domaine

    Bonjour.

    Si j'ai par exemple domaine1.com à protéger via un proxy inverse, je ne peux
    pas utiliser le même domaine1.com en proy comme ceci ?

    Et l'accès publique est http://sitelocal.com port 80

    dans le virtualhost :

    Code :
    1
    2
    3
    4
         ProxyPreserveHost On
         ProxyRequests off
         ProxyPass / http://domaine1.com:80
         ProxyPassReverse / http://domaine1.com:80
    Je crois que ça prends une autre adresse? c'est une question.
    Si y a un tuto qui expliquerait le tout en détails, ça ferait bien
    mon bonheur (pas un tuto qui explique c est quoi u proxy).

    Mon but est de ne pas exposer directement http://sitelocal.com
    au front des attaques.

    de l'aide me serait bien utile.
    Salut la communauté des développeurs et développeuses.

  2. #2
    Futur Membre du Club
    Inscrit en
    novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 56
    Points : 19
    Points
    19

    Par défaut

    nginx en reverse proxy + apache ?

  3. #3
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Un ptit détail oublié.. c'est Apache 2.2 sous Linux Ubuntu serveur 12.04.1
    Salut la communauté des développeurs et développeuses.

  4. #4
    Futur Membre du Club
    Inscrit en
    novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 56
    Points : 19
    Points
    19

    Par défaut

    Citation Envoyé par dancom5 Voir le message
    Un ptit détail oublié.. c'est Apache 2.2 sous Linux Ubuntu serveur 12.04.1
    C'est une proposition que je faisais ci-dessus.
    Google [nginx reverse proxy + apache] pour plus d'info

  5. #5
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Citation Envoyé par jackson67 Voir le message
    C'est une proposition que je faisais ci-dessus.
    Google [nginx reverse proxy + apache] pour plus d'info
    Avant de venir ici, j'ai déjà fait ces recherches sur Google. J'ai pas trouvé réponse.
    Salut la communauté des développeurs et développeuses.

  6. #6
    Rédacteur/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 417
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 417
    Points : 10 972
    Points
    10 972

    Par défaut

    Je n'ai rien compris à ce que tu cherches à faire. Tu peux redonner des explications s'il te plaît avec des exemples si nécessaire ?

    Pourquoi une conf
    Code :
    1
    2
    ProxyPass / http://sitelocal.com:80/
    ProxyPassReverse / http://sitelocal.com:80/
    dans la conf du VH de domaine1.com ne suffit pas ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Merci Mac.

    J'explique: L'an dernier, j'avais installé une webcam localement accessible sur le port 8080. Et pour y accéder, j'avais un sous-domaine et j'y ai mis le proxy inverse pour pouvoir accéder à cette webcam.

    domaine.com:80 allait chercher 127.0.0.1:8080

    Ainsi, 127.0.0.1 au lieu de l'exposer le web étant donné que le serveur de la webcam n'avait pas de possibilité de protection comme on peut faire avec Apache, c'est pour la raison que j'utilisais le proxy inverse.

    Mais, là, ce que je cherche à faire, c'est de protéger domaine.com:80 lui-même avec un proxy inverse comme j'ai pu faire avec 127.0.0.1.

    ça doit être faisable. Ou bien, ça prends absolument un autre domaine sur la même machine. Je sais pas.
    Salut la communauté des développeurs et développeuses.

  8. #8
    Rédacteur/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 417
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 417
    Points : 10 972
    Points
    10 972

    Par défaut

    C'est parfaitement possible avec le même Apache. Mais il faut configurer 2 hôtes virtuels : un pour le VH domaine.com et un pour le VH sitelocal.com, chacun ayant la configuration de reverse proxy vers le truc qui va bien. Schématiquement :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    NameVirtualHost *:80
    
    <VirtualHost *:80>
        ServerName sitelocal.com
        ProxyPass / http://domaine.com/
        ProxyPassReverse / http://domaine.com/
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName domaine.com
        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/
    </VirtualHost>

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Bonjour MAC,

    Je vais tester ça un moment donné quand j'aurai franchi le reste de mes choses à faire finalement.

    Mais, j'ai une question de sécurité que je veux savoir.

    Code :
    1
    2
    3
    4
    ProxyPreserveHost On
    ProxyRequests off
    ProxyPass /test/ http://local:8080
    ProxyPassReverse /test/ http://local:8080
    Ceci me permet d'utiliser un serveur qui n'est pas accessible directement via le net sauf si je passe par un serveur web.

    domaine.com/test/ qui me donne accès au serveur local sur le port 8080.

    Mais comment limiter seulement à un seul sous-domaine?

    Actuellement, même avec le IP Publique, je peux avoir accès à domaine.com/test/.

    1.2.3.4/test/
    toutsousdomaine.com/test
    etc.

    Je veux limiter à seulement lesousdomaine.com/test/
    Salut la communauté des développeurs et développeuses.

  10. #10
    Rédacteur/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 417
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 417
    Points : 10 972
    Points
    10 972

    Par défaut

    Ben c'est ce que je dis : utilise des hôtes virtuels :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    NameVirtualHost *:80
    
    <VirtualHost *:80>
        ServerName mondomaine.com
        ProxyPreserveHost On
        ProxyRequests off
        ProxyPass /test/ http://local:8080
        ProxyPassReverse /test/ http://local:8080
    </VirtualHost>
    De cette manière, le site sur le port 8080 ne sera accessible que depuis http://mondomaine.com/test/.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  11. #11
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Merci pour la réponse.

    J'ai accès à /test/ par sous.monhost.com mais pas seulement à ce
    sous domaine mais aussi par tout ce qui se rattache à mon IP.
    ex: 1.2.3.4/test/ donne aussi acces à mon proxy.

    ma config :

    Code :
    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
    <VirtualHost *:80>
    
    	DocumentRoot /home/monhost
    	ServerName sous.monhost.com
    	ServerAlias site.monhost.com *.sous.monhost.com
    	VirtualDocumentRoot /home/monhost/%1
    
    	<Directory "/home/monhost">
    		 allow from all
    		 Options +Indexes
    	</Directory>
    
    </VirtualHost>
    
    <Proxy *>
     AuthType Basic
     AuthName "access"
     AuthUserFile /home/monhost/privee/.htpasswd
     require valid-user
     order deny,allow
     allow from all
    </Proxy>
    
    ProxyPass /test/ http:/localhost:8080/ 
    ProxyPassReverse /test/ http:/localhost:8080/
    ProxyRequests off
    ProxyPreserveHost on
    Je veux seulement pouvoir avoir accès au /test/ par l'un des *.sous.monhost.com ou bien juste un qui appartient à sous.domaine.com
    (de préférence à un seul comme sous.sou.domaine.com).
    Salut la communauté des développeurs et développeuses.

  12. #12
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Merci MAC, J'ai mal positionné les trucs de proxy. Et j'ai pas réalisé quand vous me l'avez montré.

    Une autre chose, j'ai des ServerAlias sous.monhost.com *.sous.monhost.com
    et si je veux mettre mon truc de proxy dans seulement un comme par exemple:

    lulu est un sous répertoire de sous.monhost.com qui devient un serveur alias.

    Si je veux que lulu.sous.monhost.com puisse aller chercher mon serveur qui n'est pas visible qui est localhost:8080

    Le but est de ne pas donner accès au autres serveur alias au répergtoire contenant localhost:8080.

    C'est possible?
    Salut la communauté des développeurs et développeuses.

  13. #13
    Rédacteur/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 417
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 417
    Points : 10 972
    Points
    10 972

    Par défaut

    Si j'ai bien compris la question, ça doit être possible (mais je ne suis pas sûr à 100%) avec 2 hôtes virtuels et écrits dans cet ordre là dans la configuration Apache : un premier VH pour lulu.sous.monhost.com avec la config de reverse proxy et un second VH avec le ServerAlias *.sous.monhost.com. Ca devrait marcher car Apache traite les VH dans l'ordre dans lequel il les trouve dans sa configuration. Si ça ne marche pas, il y a peut-être moyen encore avec un seul VH sur ServerAlias *.sous.monhost.com et une configuration mod_rewrite :
    Code :
    1
    2
    3
    RewriteEngine on
    RewriteCond %{HTTP_HOST} lulu\.sous\.monhost\.com
    RewriteRule (.*) http://localhost:8080/$1 [P]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  14. #14
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Merci pour la réponse.

    C'est pas tout à fait cela.

    J'ai un VirtualHost * principal: monhost.com
    Dans ce virtual host, j'ai un sous domaine principal: sous.monhost.com
    et plusieurs alias: lulu.sous.monhost.com

    Ex:
    Code :
    1
    2
    lulu.sous.monhost.com
    toto.sous.monhost.com
    etc

    lulu et toto ce sont des répertoire qui créé les alias de sous-domaine.

    lulu.sous.domaine.com aurait accès au proxy mais pas toto.

    Donc, détecter si HTTP_HOST est lulu... et que le répertoire est /dossier/

    Donc, si je tapperais: lulu.sous.monhost.com/dossier/ j'accède au proxy
    http://localhost:8080

    Code :
    1
    2
    3
    RewriteEngine on
    RewriteCond %{HTTP_HOST} lulu\.sous\.monhost\.com
    RewriteRule (.*) http://localhost:8080/$1 [P]
    Et je mettrais ceci dans le virtualhost principal qui est : sous.monhost.com.

    Je ferais cela de manière à rediriger ailleurs que dans le proxy tous les alias
    qui n'est pas "lulu" lorsque ceux-ci tappe le répertoire /dossier/*
    Salut la communauté des développeurs et développeuses.

  15. #15
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Bonjour.

    Pour dire que normalement, ce code fonctionnerait :

    Code :
    1
    2
    3
    4
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !alias1\.sous\.domaine\.com
    RewriteCond %{REQUEST_URI} /test/ [NC]
    RewriteRule (.*) - [F]
    Si /test/ serait un répertoire dans l'alias du sous domaine, ça fonctionnerait.
    Mais, vu que /test/ n'est pas un sous répertoire mais plutôt un accès au
    serveur via proxy, ça ne fonctionne pas; en tout cas, pas dans Virtualhost.
    Je ne vois pas comment je peux résoudre mon problème avec un alias.

    Merci pour l'aide reçue.
    Salut la communauté des développeurs et développeuses.

  16. #16
    Rédacteur/Modérateur
    Avatar de _Mac_
    Inscrit en
    août 2005
    Messages
    9 417
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 9 417
    Points : 10 972
    Points
    10 972

    Par défaut

    Tu as essayé le flag P de RewriteRule, voire éventuellement aussi le flag PT ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  17. #17
    Membre habitué Avatar de dancom5
    Homme Profil pro Dan
    Inscrit en
    janvier 2010
    Messages
    562
    Détails du profil
    Informations personnelles :
    Nom : Homme Dan
    Âge : 45

    Informations forums :
    Inscription : janvier 2010
    Messages : 562
    Points : 143
    Points
    143

    Par défaut

    Citation Envoyé par _Mac_ Voir le message
    le flag PT
    Oui, si je mets le tout dans la même partie que ProxyPass et ProxyPassReverse dans la balise virtualhost. Je précise que ce n'est pas dans la partie balise DIRECTORY.

    Code :
    RewriteRule (.*) - [F] [PT]
    Au lieu d’interdire, je vais plutôt rediriger.

    Ça marche à merveille. Merci.
    Salut la communauté des développeurs et développeuses.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •