PDA

Visualizza la versione completa : ProxyPass sottodomini


alexdem24
04-03-2008, 12:20
Ciao a tutti
Spero che qui ci sara' qualcuno per possa aiutarmi.
Ho un problema con apache... il problema e' il seguente.

Ho due servers (server1, server2).
Il server1 ha un'indirizzo ip statico ed e' accessibile dall'esterno. esso ha dei domini che deve gestire tramite apache, e questi domini sono controllati da virtualhosts.

server2 e' situato all'interno della LAN, ed e' accessibile soltanto dall'interno della rete, ma anch'esso dovra' gestire dei domini pubblici. Anche lui gestira questi siti attraverso i virtualhosts.

L'unico modo che server2 ha per gestire questi siti, e' passare attraverso server1, che e' visibile dall'esterno.

Quindi, per fare un piccolo schema, la rappresentazione dovrebbe essere la seguente:

Client -> sito1 -> server1
Client -> sito2 -> server1
Client -> sito3 -> server1

Client -> sito4 -> server1 -> server2
Client -> sito5 -> server1 -> server2
Client -> sito6 -> server1 -> server2

Come potete notare, sito4 sito5 sito6, per poter essere gestiti da server2, devono passare da server1.

Adesso arriva il problema. Sto cercando di settare server1 per redirigere alcune richieste su server2, ed il modo in cui ci sto provando, e' tramite proxyPass e ProxyReverse.

Queste sono le righe di virtualHosts che ho messo:


<VirtualHost *:80>
ProxyRequests off
ServerName sito4.miodominio.com
ProxyPass / http://12.34.56.78/
ProxyPassReverse / http://12.34.56.78/
ErrorLog logs/sito4.miodominio.com-error_log
CustomLog logs/sito4.miodominio.com-access_log common
</VirtualHost>


Adesso, facendo in questo modo, redirigo tutto il traffico destinato a sito4.miodominio.com al server2, ma quello he mi ritorna e' il primo virtualHost settato in quella macchina.
Presumo che faccia cosi' xche' non trova nessuna corrispondenza di sito4.miodominio.com su server2, dato che uso l'ip di server2 invece del nome del dominio. Ho anche provato a sostituire l'ip di server2 con il nome a dominio del sito, ma cosi facendo ottengo una pagina di errore.

ProxyPass prende come primo argomento un /, che sarebbe la root del sito, ma non so come redirigere un dominio di terzo livello con questa metodologia.

Grazie mille per il vostro tempo.

alexdem24
04-03-2008, 18:22
up

moskitoita
04-03-2008, 18:54
secondo me devi usare sito4.miodominio.com nella configurazione di apache
e aggiungere in /etc/hosts sito4.miodominio.com puntandolo a 12.34.56.78

alexdem24
04-03-2008, 19:09
grazie per la tua risposta..
CI avevo provato, ma quello che ottenevo era soltanto un loop continuo.

Al momento ho trovato la soluzione nel seguente modo.

nel Virtualhosts ho fatto un proxyPass ad un nome a dominio tipo sito4_test.miodominio.com.

Ho aggiunto nel file di hosts una entry per sito4_test che punta a server2.

Su server2 ho settato un ServerAlias che risponde al dominio sito4_test.miodominio.com e di conseguenza carica il sito corretto..

In questo modo funziona come deve...anche se sono sicuro che non e' la soluzione migliore...


alex

Loading