Apache proxy werkt wel, maar domeinnaam "raakt zoek"

Pagina: 1
Acties:

  • jwbagger
  • Registratie: Februari 2001
  • Laatst online: 15-12-2025

jwbagger

,.-~'`'~-.,

Topicstarter
De situatie:
[internet] --> [server1(=router)] --> [switch] --> netwerk, waaronder [server2]

Zowel server1 als server2 moeten pagina's voor domein.nl hosten, afhankelijk van het subdomein wélke server dit moet doen. Na een behoorlijk zoekwerk ben ik er achter gekomen dat hier twee mogelijkheden voor zijn (zie dit topic): vhosts op server1 forwarden door middel van ProxyPassReverse , of vhosts op server1 forwarden door middel van ReWriteRule ...

Deze methodes werken beide "op zich" wel okee: de request wordt inderdaad geforward naar server2 voor de subdomeinen in die vhosts op server1 waar dit is aangegeven. Eén probleem echter: alles wordt geforward naar http://192.168.0.103 , en dit is ook het request-adres dat server2 ziet. De vhosts op die server krijgen dus geen kans om hun werk te doen, waarop die server zijn "standaard"-page laat zien. Ik heb gezocht wat ik kon, maar ook bij de apache pagina over mod_proxy kon ik geen oplossing vinden om de request onaangetast door te kunnen sturen. Is hier een oplossing voor bij het doorsturen, of zou ik op server2 hiervoor een heel andere inrichting moeten maken, waarbij de hostname uiteindelijk wordt gerequest met http://192.168.0.103/sub.domein.nl ? Dat klinkt volgens mij redelijk omslachtig om dan weer bij de vhosts van server2 terecht te kunnen komen...

Is hier een eenvoudige oplossing voor, die ik over het hoofd zie, of ligt het inderdaad ingewikkeld en mag ik heel server2 omgooien?

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Mja. Als 'target' voor de reverse proxy heb je ws. staan http://192.168.0.103/iets? Daar ligt 't probleem. Maak daar een naam van en die naam wordt meegestuurd als Host header. Anders niet. Je kunt daar zelfs een interne naam in /etc/hosts van maken als je wilt, zolang je twee webservers maar weten welke namen het zijn.

[ Voor 6% gewijzigd door CyBeR op 07-07-2005 01:13 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Meerdere (dummy) ip's aanmaken op server2 en elke redirect naar
een apart ip doen ?

Of interne dns namen gebruiken voor de redirects ?

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • jwbagger
  • Registratie: Februari 2001
  • Laatst online: 15-12-2025

jwbagger

,.-~'`'~-.,

Topicstarter
het idee van CyBeR is opzich nog wel te doen, moet ik alleen wel voor al die subdomeinen weer wat editten in m'n hosts table.
En wat u_nix_we_all zegt, dummy ip's aanmaken op server 2: geen flauw idee hoe ik dat aan zou moeten pakken... en lijkt me wel érg omslachtig. Interne dns namen komt ongeveer weer overeen met de hosts table.

ik heb afgelopen nacht nog even nagedacht hoe ik het ook misschien op zou kunnen lossen (maar ik zou niet weten hoe ik dat uit kan werken): in vhosts aangeven op server 1 dat geforward moet worden naar http://192.168.0.103/origineel.sub.domein.nl , dus de domeinnaam er achter geplakt. Dat moet op zich nog wel te doen zijn... maar dan komt het lastige: server 2 moet dat dan weer "uit elkaar plukken" en vervolgens intern forwarden naar die vhost :) Zou zo'n soort oplossing eigenlijk niet de meest nette zijn? En hoe zou je dat aan kunnen pakken?

  • Skaah
  • Registratie: Juni 2001
  • Niet online
[google=PreserveHost]

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 22:19

Koffie

Koffiebierbrouwer

Braaimeneer

Move PNS > NT

Post eens het specifieke gedeelte over Vhosts en proxying uit je HTTPD.CONF ?

Tijd voor een nieuwe sig..


  • jwbagger
  • Registratie: Februari 2001
  • Laatst online: 15-12-2025

jwbagger

,.-~'`'~-.,

Topicstarter
de term klinkt veelbelovend, maar ik kan voor apache niks vinden met die googlesearch die je aanbiedt, helaas.. ik zie wel wat dingen voor lighthttpd maar die draai ik dus niet...
Koffie schreef op vrijdag 08 juli 2005 @ 07:42:
Post eens het specifieke gedeelte over Vhosts en proxying uit je HTTPD.CONF ?
dat heb ik nu al twintig keer door elkaar gegooid :P

Eerst had ik het staan dmv proxy-forwarding, maar dan raak je dus de gerequeste domeinnaam kwijt:
code:
1
2
3
4
5
6
<VirtualHost *>
ServerName subdomein-dat-geforward-moet-worden
ProxyRequests off
ProxyPass / http://192.168.0.103
ProxyPassReverse / http://192.168.0.103
</VirtualHost>

Dit werkte dus op zich wel (requests werden netjes doorgestuurd), maar helaas kreeg de tweede server dus niets anders dan 192.168.0.103 als request te zien, waar hij dus niks mee kan voor z'n virtualhosts...

Nu ben ik aan het proberen gegaan met de rewrite-engine om op de manier zoals ik in een vorige post aangaf, de server de request te voeren in de vorm http://192.168.0.103/subdomein/restvanderequest .

code:
1
2
3
4
5
6
<VirtualHost *>
ServerName subdomein-dat-geforward-moet-worden
RewriteEngine on
ReWriteCond %{HTTP_HOST} ^$
ReWriteRule ^/(.+) http://192.168.0.103/$1 [P,L]
</VirtualHost>

De code hierboven is nog niet voor de request in de vorm te krijgen zoals ik hierboven aangaf, maar een eerste poging om het rewriten überhaupt aan de praat te krijgen.
Helaas werkt zelfs dit niet eens, en krijg ik de DocumentRoot van de eerste server terug als resultaat op de request. (en ik weet zeker: de mod_rewrite staat wél actief)
Hoe kan ik ten eerste de rewrite-engine z'n werk laten doen, en ten tweede een request laten genereren in de vorm van hierboven?
Daarna moet ik nog op de tweede server aan de slag om dat weer uit elkaar te peuteren, maar ik denk nu dat dat uiteindelijk ook neer zal komen op een soortgelijke rewriterule.

  • jwbagger
  • Registratie: Februari 2001
  • Laatst online: 15-12-2025

jwbagger

,.-~'`'~-.,

Topicstarter
^^^ niemand??? ^^^

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Okay: dit is de config die ik zelf gebruik, hiermee zou het moeten werken.
code:
1
2
3
4
5
6
<VirtualHost *>
    ServerName www.granaet.nl
    ProxyPreserveHost On
    ProxyPass /mail/ http://10.0.0.10:8080/exchange/
    ProxyPass / http://10.0.0.7/
</VirtualHost>


Sorry van de verwarring met PreserveHost.

[ Voor 12% gewijzigd door Skaah op 30-07-2005 15:17 ]

Pagina: 1