[Apache] 1virtualhost met alias rerouten naar ander ext. IP

Pagina: 1
Acties:

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 19-02 13:35

RoRoo

Certified Prutser

Topicstarter
Situatieschets:

1 cobalt 550
meerdere sites erop draaien incl. DNS
1 van deze sites heeft ook 10+ serveraliassen

Ik wil in deze virtual host zeggen dat hij de files van een andere locatie moet halen op een andere server (http://xx.xx.xx.xx/naam/)

Redirect directive werkt wel.,. maar deze veranderd ook het adres in de adresbalk. en dat wil ik dus niet.

ProxyPass heb ik al geprobeerd maar deze lijkt niet te werken :?
Invalid command 'ProxyPass', perhaps mis-spelled or defined by a module not included in the server configuration
Apache versie: 1.3.20

Iemand een anung??

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 19-02 14:54

RvdH

Uitvinder van RickRAID

mod_proxy installeren?

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 19-02 13:35

RoRoo

Certified Prutser

Topicstarter
is dat een losse module? of moet ik heel apache opnieuw compileren :?

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


  • hammerhead
  • Registratie: April 2000
  • Laatst online: 17-02 07:53
Zou gewoon een losse module moeten zijn. Is te gebruiken door:
LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so

Daarna zou proxypass volgens mij wel moeten werken.

Verder zou je het dacht ik ook met rewrite rules moeten kunnen oplossen (weet alleen niet of die wel of niet die modproxy ook nog nodig had)

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


  • Sendy
  • Registratie: September 2001
  • Niet online
ProxyPass is super. Let wel op dat absolute URL's van de andere server ook terugvertaald moeten worden! Dat doe je met ProxyPassReverse.

En url rewriting kan het ook inderdaad. Dan heb je mod_proxy niet nodig.

[ Voor 23% gewijzigd door Sendy op 24-02-2004 15:55 ]


  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 19-02 13:35

RoRoo

Certified Prutser

Topicstarter
hammerhead schreef op 24 februari 2004 @ 15:46:
Zou gewoon een losse module moeten zijn. Is te gebruiken door:
LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so

Daarna zou proxypass volgens mij wel moeten werken.

Verder zou je het dacht ik ook met rewrite rules moeten kunnen oplossen (weet alleen niet of die wel of niet die modproxy ook nog nodig had)
hmm en ik maar zoeken naar mod_proxy die dus niet op die doos staat.

Thanks.

Kan je mij een hint geven naar de rewriterule die ik nodig heb om de url te laten staan?

aangezien hij nu wel doorgooit met ProxyPass / http://nieuwesite/subdir/ maar de url veranderd braaf mee :'(

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


  • Sendy
  • Registratie: September 2001
  • Niet online
De URL veranderd niet mee. Jij doet waarschijnlijk een redirect o.i.d., en die redirect naar een absoluut adres. (Noot, redirecten naar een relatieve URL mag niet!)

  • hammerhead
  • Registratie: April 2000
  • Laatst online: 17-02 07:53
Hmmmm... Die is heel makkelijk terug te vinden door echt een beetje te zoeken.... maar ja, ben weer aardig, even snel ding gekopieerd:
code:
1
2
3
4
5
6
7
        RewriteEngine On
        
        ServerName      servername
        ServerAlias     www.servername

        RewriteRule ^/(.*) http://192.168.1.98/$1 [P,L]
        ProxyPassReverse / http://www.servername.nl/


Dit moet dus binnen een virtualhost van apache staan.

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


  • Sendy
  • Registratie: September 2001
  • Niet online
hammerhead >
en die RewriteRule kan je dus vervangen door
code:
1
ProxyPass / http://nieuwesite/subdir/

Dan heb je RewriteEngine On niet nodig (en mod_rewrite ook niet).

  • hammerhead
  • Registratie: April 2000
  • Laatst online: 17-02 07:53
Klopt ja.... Dat had ik ook als eerste. Ben echter later bezig geweest met wat spelen met rewriterules (bepaalde delen moeten gewoon via https bij mij). Daarom staat dit er nu, maakt niet zo heel veel uit, doen beide exact hetzelfde :)

Verder nog wel een ander puntje: Ik ben ergens een apache module paf_module tegengekomen. Die moet je op de back-end server plaatsen (dus nieuwe_site_server) en die zorgt ervoor dat al het proxy gebeuren als het ware ongedaan gemaakt wordt wat eigenlijk betekent dat de backend server als IP adressen van de requests niet het adres van de proxyserver, maar het IP adres van de echte request. (weet niet hoe belangrijk dit voor jou is, was voor mij wel makkelijk namelijk)

Maar indien je die module zou willen gebruiken moet je hem even zoeken op internet.

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 19-02 13:35

RoRoo

Certified Prutser

Topicstarter
Ok dan!

Ik heb nu het volgende staan (en nog iets meer :) ) maar dit werkt.

code:
1
2
3
4
5
6
RewriteEngine on
RewriteCond %{HTTP_HOST}                !^12.34.56.78(:80)?$
RewriteCond %{HTTP_HOST}                !^www.domein.nl(:80)?$ [NC]
RewriteRule ^/(.*)                      http://www.domein.nl/$1 [L,R]

ProxyPassReverse / http://09.87.65.43/domein


Thanks allemaal!!!

_/-\o_

edit:
Deeplinken werkt dus toch nog niet...

sjit..

ennie other ideas?

edit2:
mijn eigenwijsheid aan de kant gezet en nu ECHT geluisterd naar jullie

Resultaat: een werkende deeplink naar een andere server zonder url verlies.

wederom _/-\o_

[ Voor 26% gewijzigd door RoRoo op 24-02-2004 16:31 ]

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


  • Sendy
  • Registratie: September 2001
  • Niet online
Kan je misschien nog uitleggen wat je nu nog hebt gewijzigd?

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 19-02 13:35

RoRoo

Certified Prutser

Topicstarter
sure:

code:
1
2
ProxyPass / http://123.12.123.1/folder/
ProxyPassReverse / http://123.12.123.1/folder/

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


  • Sendy
  • Registratie: September 2001
  • Niet online
Nou, lekker kort inderdaad. Ik heb nog
code:
1
ProxyPreserveHost on
erbij staan. Da's om de HOST: header van een HTTP/1.1 request door te geven. Is misschien ook handig.

Veel plezier ermee!

[ Voor 3% gewijzigd door Sendy op 25-02-2004 20:51 ]

Pagina: 1