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 :

Reverse proxy qui ne marche pas tout à fait


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2004
    Messages : 58
    Par défaut Reverse proxy qui ne marche pas tout à fait
    Bonjour, à tous,

    Voici la situation.
    J'ai un serveur web apache 2 accessible depuis internet. Je souhaite ia ce serveur accéder à la configuration de mon router (speedtouch ST780).

    Pour celà, et pour plus de sécurtié, j'ai voulu faire un reverse proxy sur apache en ssl (j'ai déjà d'autres pages en ssl).

    Voici ma configuration:
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <IfModule mod_ssl.c>
    NameVirtualHost *:443
     
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyVia full
     
    <VirtualHost *:443>
     
    	ServerName www.monserveur.fr
    	DocumentRoot /var/wwwssl/
    	<Directory />
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		Allow from all		
    	</Directory>	
     
    	<proxy *>
    		Options +ExecCGI Indexes FollowSymLinks MultiViews
    		AllowOverride all
    		Order allow,deny
    		Allow from all
    	</proxy>
     
    	<location /router>
    		ProxyPass http://speedtouch.lan
    		ProxyPassReverse http://speedtouch.lan
    		SetEnv force-proxy-request-1.0 1 #le serveur web du speedtouch est en http 1.0
    	</location>
     
    	ErrorLog /var/log/apache2/ssl.log
    	LogLevel warn
    	CustomLog /var/log/apache2/access.log combined
     
    	SSLEngine on
    	SSLCertificateFile /etc/ssl/maclef.crt
    	SSLCertificateKeyFile /etc/ssl/maclef.key
    	SSLCACertificateFile /etc/ssl/monca.pem
    	SSLProtocol all -SSLv2
    	SSLCipherSuite HIGH:MEDIUM
     
    </VirtualHost>
    </IfModule>
    maintenant, si j'accède à https://www.monserveur.fr/router
    J'ai bien la page de mon speedtouch qui s'affiche, mais je n'ai pas es images, et les scripts ne sont pas chargés.

    voici ce que me ditsent les logs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Tue May 28 09:02:24 2013] [error] [client W.X.Y.Z] File does not exist: /var/wwwssl/util.js, referer: https://www.monserveur.fr/router/
    [Tue May 28 09:02:24 2013] [error] [client W.X.Y.Z] File does not exist: /var/wwwssl/styles.css, referer: https://www.monserveur.fr/router/
    [Tue May 28 09:02:24 2013] [error] [client W.X.Y.Z] File does not exist: /var/wwwssl/images, referer: https://www.monserveur.fr/router/
    le plus bizarre, c'est que s'i j'essaie de me connecter à l'url:
    https://www.monserveur.fr/router/util.js
    j'arrive bien à voir le script.
    J'ai parcouru de nombreux forums, tenté de nombreuses modifications (ProxyHTMLURLMap, RewriteRule) rien n'y fait.

    Quelqun aurait-il une idée de génie?

  2. #2
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2004
    Messages : 58
    Par défaut
    Je vois que personne n'ose m'interrompre dans mes investigations, donc je poussuis pour mes 18 (à peu près) lecteurs.

    JE vois d'où vient le problème, mais je ne sais pas trop comment le résoudre, et peut-être quelqun parmi vous fidèles lecteurs, connais la réponse.

    le problème, c'est que les requètes adressées au serveur ne sont pas bonnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     requête reçue:
    W.X.Y.Z - - [28/May/2013:11:10:38 +0400] "GET /styles.css HTTP/1.1" 404 181 "http://www.monserveur.fr/router/" "Mozilla/5.0"
    
    qui devrait être: 
    W.X.Y.Z - - [28/May/2013:11:10:38 +0400] "GET /router/styles.css HTTP/1.1" 404 181 "http://www.monserveur.fr/router/" "Mozilla/5.0 "
    je vois qu'il existe des modules genre proxy_html qui pourraient me permettre de résoudre mon problème mais je n'arrive pas à les configurer correctement.

    Quelqu'un aurait-il une idée de la source de mon problème et une (piste de) solution?

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2004
    Messages : 58
    Par défaut
    houlà, je perds des fans, il y a de moins en moins de monde à lire ce post.

    Vite vite, un point sur mes progrès.

    Donc, je suis de plus en plus proche du résultat désiré.

    maintenant, j'affiche la page d'accueil avec le bon style et en ayant chargé le script principal. cependant, celui-ci en appele d'autres, et pour le moment, je coince ici.

    Bref, comment j'ai fait:
    J'ai uilisé le module mod_proxy_html
    pour l'installer sur ubuntu 10.4 voici un post qui résoud votre problème:
    http://www.developpez.net/forums/d12...oxyhtmlurlmap/

    après moults essais, voici ma configuration qui fontionne le mieux (j'ai maintenant mis mon reverse proxy sur http):
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    NameVirtualHost *:80
     
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyVia Block
     
    <VirtualHost *:80>	
    	DocumentRoot /var/www/
    	<Directory /var/www/>
    		Options Indexes MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    	</Directory>	
     
    	ErrorLog /var/log/apache2/error.log
    	# Possible values include: debug, info, notice, warn, error, crit,
    	# alert, emerg.
    	LogLevel info
    	#LogLevel Debug
     
    	CustomLog /var/log/apache2/access.log combined
    	ServerSignature Off
     
            <proxy *>
    		Options +ExecCGI Indexes FollowSymLinks MultiViews
    		AllowOverride all
    		Order allow,deny
    		Allow from all
    	</proxy>
     
    	<location /router/>
    		#### les règles pour proxy_http ####
     
    			ProxyPass http://speedtouch.lan/
    			ProxyPassReverse /router/
     
    		#### Les règles pour proxy_html ####
     
    			#Ubuntu 10.4 specific. Pour autoriser l'utilisation du module proxy_html, il faut mettre la ligne suivante
    			SetOutputFilter INFLATE;proxy-html;DEFLATE;
    			#La règle: toutes les requetes "GET /*" sont transformées en "GET /router/*"
    			ProxyHTMLURLMap / /router/  
    			#appliquer la règle aussi au contenu dans javascript et CSS
    			ProxyHTMLExtended On
    			#Afficher les logs du module
    			ProxyHTMLLogVerbose On
     
    		#spécifique au routeur speed touch qui a un serveur HTTP 1.0
    		SetEnv force-proxy-request-1.0 1
    	</location>
    </VirtualHost>
    j'ai trouvé les infos sur la configuration de mod_proxy_html sur
    http://apache.webthing.com/mod_proxy_html/
    et:
    http://www.apachetutor.org/admin/reverseproxies

    Donc maintenant, mon problème, c'est que le script du speedtouch fait des appels à d'autres scripts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write("<script type='text/javascript' src='/b_menu.js'></script>");
    Et là mod_proxy_html me donne l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Tue May 28 12:47:06 2013] [info] [client 80.69.222.104] Non-HTML content; not inserting proxy-html filter, referer: http://80.69.222.104/router/
    [Tue May 28 12:47:06 2013] [error] [client 80.69.222.104] File does not exist: /var/www/b_menu.js, referer: http://80.69.222.104/router/
    Peut-être que l'un de vous, fidèls lecteurs, connait la source de mon problème et sa solution?

  4. #4
    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
    Par défaut
    Tu ne vas mettre que ton routeur derrière ton virtual host ou tu veux aussi héberger d'autres sites ?

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2004
    Messages : 58
    Par défaut
    Salut _Mac_,
    Bien entendu, je vais aussi mettre d'autres sites, sinon, je n'aurais pas à m'embêter avec ces règles de ré-écriture...
    Je suis toujours en train de plancher dessus, le problème c'est javascript.

  6. #6
    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
    Par défaut
    Ben dans ce cas, à mon avis c'est mort sans passer par un hôte virtuel dédié à ton routeur. Un hôte dédié signifie réserver un nom d'hôte (nom DNS) et/ou un port qui ne seront pas utiliser par les autres sites.

  7. #7
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2004
    Messages : 58
    Par défaut
    Merci Mac. effectivement, après moults essais, je n'arrive toujours pas à avoir une solution satsifaisante. Le problème vient du fait que mon speedtouch utilise une syntaxe pour ses scripts qui n'est pas vraiment standard et donc pas supportée par mod_proxy_html.

    C'est pas trop grave, il faudra que je crée un hôte virtuel séparé comme tu le préconises.

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

Discussions similaires

  1. Reverse proxy qui ne marche pas
    Par lauben dans le forum Apache
    Réponses: 1
    Dernier message: 04/10/2010, 22h27
  2. history.go et IE qui marche.. mais pas tout à fait !
    Par sacha69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/09/2008, 11h54
  3. .bat qui ne marche pas sur tout les postes
    Par guismoman33 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 06/08/2008, 11h52
  4. Script tout simple qui ne marche pas sous IE
    Par Bleuarff dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/02/2007, 18h48
  5. Réponses: 9
    Dernier message: 07/05/2003, 12h57

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