Eddie: Proxy-Weiterleitung - nur wie?

Hallo allerseits,

ich hatte diese Frage in den letzten Tagen schonmal angeschnitten, der Thread ist aber leider schon im Archiv :-(

Es geht um die Weiterleitung einer Clientanfrage von
   www.old.de/index.htm
auf
   www.new.de/index.htm

Dabei duerfen weder Besucher, noch (und das ist mir sehr wichtig) Suchmaschinen etwas davon bemerken! Das heißt, die übertragenen Header dürfen nichts verraten. Allerdings habe ich nur Zugriff auf die .htaccess!

Folgende beide Varianten habe ich probiert, die dritte jedoch noch nicht:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ProxyPass / http://www.new.de/

Das ging leider garnicht, und wenn ich das
richtig verstanden habe, lag's an der
Verwendung in der .htaccess :-(

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

RewriteRule ^.*$ http://www.2.de%{REQUEST_URI} [P]

Dummerweise werden damit ein paar zusätz-
liche Header übertragen, bspw. "X-Cache".
Ich habe versucht, sie zu entfernen, aber
offenbar geht das nur bei selbstgesetzten
Headern:

Header add TestHeader "test"
   Header unset TestHeader
   Header unset X-Cache[/code]

"TestHeader" wird hierbei gelöscht, während
"X-Cache" bleibt :-(

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Und eine dritte Möglichkeit wäre vielleicht
mittels PHP.
Ich weiss nicht, ob das so geht, dass nach
außen hin nichts zu erkennen ist?

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Habt ihr eine Idee, wie ich den Mirror sonst korrekt einrichten kann? Oder wie ich die obigen beiden Methoden in den Griff bekomme?

Danke für eure Hilfe,
Eddie

--
Old men and far travelers may lie with authority.
  1. hi,

    Es geht um die Weiterleitung einer Clientanfrage von
       www.old.de/index.htm
    auf
       www.new.de/index.htm

    Dabei duerfen weder Besucher, noch (und das ist mir sehr wichtig) Suchmaschinen etwas davon bemerken!

    Darf man interessehalber erfragen, warum?

    (Wenn du unter beiden Domains die selben Inhalte auslieferst, könnten Suchmaschinen das u.U. sogar als "double content" abstrafen.
    Was spricht also gegen das in solchen Fällen absolut übliche Vorgehen, mit einem 301 Moved Permanently von der alten zur neuen Domain weiterzuleiten?)

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga,

      Dabei duerfen weder Besucher, noch (und das ist mir sehr wichtig) Suchmaschinen etwas davon bemerken!

      Darf man interessehalber erfragen, warum?

      Weil ich mit der Domain auf einen neuen Server umziehen will. Aber vielleicht macht es auch Sinn, das hier in einem extra Unterthread nochmal zu hinterfragen - denn ich bin mir meiner Sache ueberhaupt nicht sicher.

      Also, Folgendes ist der aktuelle Stand:
      die zwei Domains http://www.umdiewelt.de und http://www.break-fresh-ground.com verweisen beide auf daselbe physikalische Verzeichnis. Das dort laufende PHP-Skript entscheidet dann abhängig von der angefragten Domain, welche Sprache ausgeliefert wird.

      So, und jetzt habe ich einen neuen Server, da soll alles rueber: Skripte, Fotos und die DB. Und zwar moeglichst ausfallfrei!

      Ich dachte mir, ich nutze die Proxy-Weiterleitung dazu, in Ruhe umzuschalten - und zwar zu einem mir passend erscheinenden Zeitpunkt. Das heisst, die eigentliche Umschaltung findet noch vor dem KK-Antrag statt!
      Ich kopiere also alle Dateien (und vor allem die vielen Fotos) rueber. Dann setze ich die Proxy-Umleitung und kopiere die in der Zwischenzeit eventuell dazu gekommenen Fotos meiner Mitglieder hinterher. Die Umstellung dauert ein paar Minuten, ggf. kann es sein, das ein paar Autoren auf meiner Seite kurzfristig ihre neuen Bilder vermissen.

      Die Header duerfen sich nicht unterscheiden, weil vom Zeitpunkt der Proxy-Einrichtung bis zum fertigen KK-Antrag ja ggf. ein paar Tage vergehen koennen. Und ich will auf keinen Fall meine SuMa-Positionen gefaehrden - ohne sie habe ich keine Leser, ohne Leser macht das Schreiben neuer Berichte nur eingeschraenkt Sinn, ohne neue Berichte...

      (Wenn du unter beiden Domains die selben Inhalte auslieferst, könnten Suchmaschinen das u.U. sogar als "double content" abstrafen.

      Das nehme ich in Kauf. Der Double Content wäre ja auf einem neuen Server ohne jeglichen PageRank (etc...), im Normalfall sollte Google das erkennen und dann diesen Server abstrafen (jedoch nicht umdiewelt.de).

      Was spricht also gegen das in solchen Fällen absolut übliche Vorgehen, mit einem 301 Moved Permanently von der alten zur neuen Domain weiterzuleiten?)

      Die neue Domain ist nur eine Wegwerfdomain, die einzig dazu dient, das Ganze gemueglich umzustellen :-) Wenn ich die Umstellung nur mit dem KK-Antrag mache, riskiere ich imho Inkonsistenzen, denn dann kann es passieren, dass die beiden oben genannten Domains eine zeitlang auf verschiedene Server verweisen - Fotos der Mitglieder wuerden also mal hier mal da landen!

      Jetzt würde mich natürlich deine Meinung interessieren, ob das Ganze überhaupt Hand und Fuß hat.

      Eddie

      --
      Old men and far travelers may lie with authority.
      1. Hi,

        Die neue Domain ist nur eine Wegwerfdomain, die einzig dazu dient, das Ganze gemueglich umzustellen :-)

        Hmm, da sollte es, halbwegs fähige Provider vorausgesetzt, allerdings keine Probleme geben.

        Aber wenn Du für dich sichergehen willst: Installier doch einfach ein PHP, welches die passenden Daten einfach vom alten Server holt und ausgibt. Und was einmal geholt wurde, wird gecacht.

        Da hast Du volle Kontrolle über die Header ... :)

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      2. hi,

        Ich dachte mir, ich nutze die Proxy-Weiterleitung dazu, in Ruhe umzuschalten - und zwar zu einem mir passend erscheinenden Zeitpunkt. Das heisst, die eigentliche Umschaltung findet noch vor dem KK-Antrag statt!
        Ich kopiere also alle Dateien (und vor allem die vielen Fotos) rueber.

        Dass du die _Daten_ vom aktuellen auf den neuen Server umziehst, bevor du den KK-Antrag startest - davon bin ich sowieso mal ausgegangen.

        Dann setze ich die Proxy-Umleitung und kopiere die in der Zwischenzeit eventuell dazu gekommenen Fotos meiner Mitglieder hinterher. Die Umstellung dauert ein paar Minuten, ggf. kann es sein, das ein paar Autoren auf meiner Seite kurzfristig ihre neuen Bilder vermissen.

        Gut, auch verstanden.

        Du willst also jetzt schon auf dem neuen System produktiv arbeiten und dort auch neue Daten ablegen, noch bevor die Domain umgezogen wird - und willst dafür Anfragen an den alten "Standort" der Domain per Proxy an den neuen "tunneln".

        Die Header duerfen sich nicht unterscheiden, weil vom Zeitpunkt der Proxy-Einrichtung bis zum fertigen KK-Antrag ja ggf. ein paar Tage vergehen koennen. Und ich will auf keinen Fall meine SuMa-Positionen gefaehrden - ohne sie habe ich keine Leser, ohne Leser macht das Schreiben neuer Berichte nur eingeschraenkt Sinn, ohne neue Berichte...

        Da frage ich mich, ob du dir hier nicht zu viel Gedanken machst, bzw. zu schwarz siehst.

        Du sprachst von ein paar zusätzlichen Headern wie "X-Cache" o.ä.
        Welchen Einfluss sollten diese auf das Verhalten der Suchmaschinen und ihre Bewertung der Inhalte haben?

        Die neue Domain ist nur eine Wegwerfdomain, die einzig dazu dient, das Ganze gemueglich umzustellen :-)

        Dann verstehe ich nicht, wofür die "neue Domain" überhaupt gebraucht wird?
        IdR. hast du doch auf deinen neuen _Webspace_ auch über eine Subdomain Zugriff, in der Form {kundenkennung}.domain-deines-neuen-providers.xy

        Wozu diese "temporäre" Domain jetzt dienlich sein soll, habe ich noch nicht verstanden.

        Wenn ich die Umstellung nur mit dem KK-Antrag mache, riskiere ich imho Inkonsistenzen, denn dann kann es passieren, dass die beiden oben genannten Domains eine zeitlang auf verschiedene Server verweisen - Fotos der Mitglieder wuerden also mal hier mal da landen!

        Würde es da nicht ausreichen, ein paar Tage nach dem Umzug noch die auf dem alten Server neu hinzugekommenen Daten auf den neuen zu transferieren?
        Auf den alten Webspace solltest du ja noch eine Zeitlang Zugriff haben - den braucht man ja mit dem KK-Antrag nicht unbedingt gleichzeitig kündigen.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi Eddie,

    ProxyPass / http://www.new.de/

    Das ging leider garnicht, und wenn ich das
    richtig verstanden habe, lag's an der
    Verwendung in der .htaccess :-(

    Richtig, ProxyPass lässt sich nicht in der .htaccess verwenden - du könntest deinen Server Administrator bitten, dass in deiner VirtualHost-Definition mit einzubauen.

    ~~~apache

    Header add TestHeader "test"

    Header unset TestHeader
       Header unset X-Cache

    
    >   
    > "TestHeader" wird hierbei gelöscht, während  
    > "X-Cache" bleibt :-(  
      
    Hast du schon mal versucht den Header X-Cache mit  
      
      Header set X-Cache "Test"  
      
    zu überschreiben? Dann mit "" zu überschreiben und letztendlich den überschriebenen Header mit unset zu löschen?  
      
    Beachte auch den [Unterschied von set und add](http://httpd.apache.org/docs/2.0/mod/mod_headers.html#header).  
      
      
    MfG, Dennis.
    
    -- 
    Mein SelfCode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)  
      
    [MySQLDBExport - Eine PHP Klasse für MySQL Dumps](http://tutorial.riehle-web.com/scripts/#mysql)  
    [Melonenmädel](http://www.schaumerlmal.de/blog/log.php/2006/05/melonenmaedel) - [www.schaumerlmal.de](http://www.schaumerlmal.de/blog/)
    
    1. Hallo allerseits, hallo Dennis,

      Richtig, ProxyPass lässt sich nicht in der .htaccess verwenden - du könntest deinen Server Administrator bitten, dass in deiner VirtualHost-Definition mit einzubauen.

      Ich glaub nicht, dass ich da große Aussichten habe - 1und1 sind preiswert aber dafuer unerbittlich :-/

      Hast du schon mal versucht den Header X-Cache mit

      Header set X-Cache "Test"

      zu überschreiben? Dann mit "" zu überschreiben und letztendlich den überschriebenen Header mit unset zu löschen?

      Hab's grad probiert, Folgendes passiert (nachdem ja X-Cache bereits existiert):

      #anfänglicher X-Cache-Wert: MISS from umdiewelt.de

      Header set X-Cache "Test"
         #X-Cache-Wert: Test,MISS from umdiewelt.de

      Header set X-Cache ""
         #X-Cache-Wert: ,MISS from umdiewelt.de

      Header unset X-Cache
         #X-Cache-Wert: MISS from umdiewelt.de

      Header unset X-Cache
         Header unset X-Cache
         Header unset X-Cache
         #X-Cache-Wert: MISS from umdiewelt.de

      # :-(

      Beachte auch den Unterschied von set und add.

      Dort heisst es auch:
      "The Header directives are processed just before the response is sent to the network. These means that it is possible to set and/or override most headers, except for those headers added by the header filter."
      Vielleicht wäre das ein Hinweis - aber was ist dann der "header filter"?

      Eddie

      --
      Old men and far travelers may lie with authority.
      1. Hi Eddie,

        Ich glaub nicht, dass ich da große Aussichten habe - 1und1 sind preiswert aber dafuer unerbittlich :-/

        Preiswert?? Pah, das ich nicht lache! Hast du dir schon mal andere Provider wie z.B. Occuris (da gibts ganz besonders viele Features) oder All-Inklusive (die sind verdammt billig) anschaut? Letztere sind jetzt übrigens neuerdings bei Webhostlist Top10 - Webhosting Privat ganz oben mit drin.

        Dort heisst es auch:
        "The Header directives are processed just before the response is sent to the network. These means that it is possible to set and/or override most headers, except for those headers added by the header filter."
        Vielleicht wäre das ein Hinweis - aber was ist dann der "header filter"?

        Um das mal klar zu stellen - ich gehe von folgender Rechnerstruktur aus:

        Client     -->       Server A       -->       Server B
         fordert alte       fungiert als Proxy       stellt das Ziel dar
         Domain an          "ist" alte Domain        "ist" die neue Domain

        Die Konfiguration müsste dann natürlich am Server A erfolgen, da dieser der Proxy ist und dafür verantwortlich ist, dass die Proxy Header da rein kommen! Eine entsprechende Konfiguration an Server B kann nichts bringen, da der Proxy-Server A für ihn auch nur ein normaler Client ist.

        Und weiter: Bist du dir sicher, dass kein von deinem Internet-Provider vorangeschalteter Proxy-Server für die Header verantwortlich ist? Hast du SSH Zugriff auf einen Server im Internet? Dann gibt da mal curl -I http://www.example.org ein und poste die Ausgabe.

        MfG, Dennis.

        1. Hallo Dennis,

          Ich glaub nicht, dass ich da große Aussichten habe - 1und1 sind preiswert aber dafuer unerbittlich :-/

          Preiswert?? Pah, das ich nicht lache!

          Ok, dummer Denkfehler. Ich habe damit die Managed Server ("Server B") gemeint, obwohl wir hier über die Hosting-Produkte ("Server A") sprechen.
          Managed Server gibt's meines Wissens nur bei Strato billiger, jedenfalls habe ich sonst nichts gefunden - alles andere war teurer. 1und1 war für mich der Mittelweg zwischen fehlendem Service (Strato) und anderen für mich zu teuren Angeboten.

          Ok, den Rest der Antwort liest du im separaten Unterthread :-)

          Eddie

          --
          Old men and far travelers may lie with authority.
        2. Hallo Dennis,

          Um das mal klar zu stellen - ich gehe von folgender Rechnerstruktur aus:

          Client     -->       Server A       -->       Server B
          fordert alte       fungiert als Proxy       stellt das Ziel dar
          Domain an          "ist" alte Domain        "ist" die neue Domain

          Die Konfiguration müsste dann natürlich am Server A erfolgen, da dieser der Proxy ist und dafür verantwortlich ist, dass die Proxy Header da rein kommen! Eine entsprechende Konfiguration an Server B kann nichts bringen, da der Proxy-Server A für ihn auch nur ein normaler Client ist.

          Genau so hab ich's gemeint! :-)

          Und weiter: Bist du dir sicher, dass kein von deinem Internet-Provider vorangeschalteter Proxy-Server für die Header verantwortlich ist? Hast du SSH Zugriff auf einen Server im Internet? Dann gibt da mal curl -I http://www.example.org ein und poste die Ausgabe.

          Das sieht so aus:
          1. ohne Proxy, das Original auf Server A wird ausgeliefert:
             ~~~http HTTP/1.1 200 OK
             Date: Thu, 18 May 2006 16:01:58 GMT
             Server: Apache/1.3.33 (Unix)
             X-Powered-By: PHP/4.4.2
             Content-Type: text/html

            
          2\. mit Proxy, die Kopie auf Server B wird ausgeliefert:  
             ~~~http
          HTTP/1.1 200 OK  
             Date: Thu, 18 May 2006 16:02:14 GMT  
             Server: Apache/1.3.33 (Unix)  
             X-Powered-By: PHP/4.4.2  
             Content-Type: text/html  
             X-Cache: MISS from www.umdiewelt.de  
             
          

          Ein "Header unset X-Cache" ändert da leider garnichts :-(((

          Eddie

          --
          Old men and far travelers may lie with authority.
          1. Hi Eddie,

            Genau so hab ich's gemeint! :-)

            Gut, dann sind wir uns da schon mal einig ;-)

            Ich habe das Szenario jetzt gerade mal nachgestellt - dazu habe ich einen Ordner angelegt mit einer .htaccess-Datei mit folgendem Inhalt

            ~~~apache RewriteEngine On
              RewriteRule ^foobar$ http://riehle-web.com/ [P]

              
            Nun ein `curl -I http://example.org/~driehle/foobar`:  
              
              HTTP/1.1 200 OK  
              Date: Thu, 18 May 2006 16:24:28 GMT  
              Server: Apache/1.3.33 (Unix)  
              Last-Modified: Fri, 19 Aug 2005 16:41:15 GMT  
              ETag: "17fc058-282-43060bab"  
              Accept-Ranges: bytes  
              Content-Type: text/html  
              
            Zum Vergleich nun der Abruf einern Standard-Datei mit `curl -I http://example.org/~driehle/test.html`:  
              
              HTTP/1.1 200 OK  
              Date: Thu, 18 May 2006 16:25:22 GMT  
              Server: Apache  
              Last-Modified: Thu, 18 May 2006 16:25:18 GMT  
              ETag: "87c75-0-7b555780"  
              Accept-Ranges: bytes  
              Content-Type: text/html  
              
            Bis auf dieses ETag, welches mir nichts sagt, jedoch bei beiden Responses vorhanden ist, ist das also nichts besonderes/verdächtiges drin.  
              
            Ich kann nur noch mal meine Frage wiederholen, ob du dir sicher bist, dass nicht noch ein Proxy deines Providers irgendwo dazwischen hockt, also:  
              
              Client  ->  Proxy (z.B. T-Online)  ->  Server A  ->  Server B  
              
            Ansonsten poste doch einfach mal die URL's unter denen die original Seiten von Server A und und die Seiten von Server B über Server A zu bekommen sind - dann curle ich das selber noch mal an.  
              
              
            MfG, Dennis.
            
            -- 
            Mein SelfCode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)  
              
            [MySQLDBExport - Eine PHP Klasse für MySQL Dumps](http://tutorial.riehle-web.com/scripts/#mysql)  
            [Melonenmädel](http://www.schaumerlmal.de/blog/log.php/2006/05/melonenmaedel) - [www.schaumerlmal.de](http://www.schaumerlmal.de/blog/)
            
            1. Hi Dennis,

              wow, das ging ja schnell!

              Ich habe das Szenario jetzt gerade mal nachgestellt

              Dann scheint es vielleicht wirklich an 1und1 zu liegen?

              Ich kann nur noch mal meine Frage wiederholen, ob du dir sicher bist, dass nicht noch ein Proxy deines Providers irgendwo dazwischen hockt, also:

              Client  ->  Proxy (z.B. T-Online)  ->  Server A  ->  Server B

              Das könnte vielleicht sein. Server A ist ja genaugenommen ein Hosting-Tarif, d.h. da muss intern nochmal irgendeine Umleitung vorgenommen werden, weil sich da ja mehrere Seiten eine IP-Adresse teilen. Aber das wäre ja auch der Fall, wenn ich nicht auf Server B weiterleite, sollte also doch eigentlich keinen Unterschied machen.

              Ansonsten poste doch einfach mal die URL's unter denen die original Seiten von Server A und und die Seiten von Server B über Server A zu bekommen sind - dann curle ich das selber noch mal an.

              Das hier ist eine Seite, die so und nicht anders von Server A kommt:
              http://umdiewelt.de/Asien/Suedostasien/Thailand/Reisebericht-24/Kapitel-1.html

              Und diese hier wird "geproxed", erkennbar am "x" am Anfang des Textes (wird von Server B eingefügt):
              http://umdiewelt.de/Asien/Suedostasien/Thailand/Reisebericht-24/Kapitel-0.html

              Eddie

              --
              Old men and far travelers may lie with authority.
              1. Hi Eddie,

                Das hier ist eine Seite, die so und nicht anders von Server A kommt:
                http://umdiewelt.de/Asien/Suedostasien/Thailand/Reisebericht-24/Kapitel-1.html

                Da bekomme ich erst mal ein

                Location: http://www.umdiewelt.de/Asien/Suedostasien/Thailand/Reisebericht-24/Kapitel-1.html

                Rufe ich die Adresse ab so bekomme ich ganz normale HTTP-Header nicht mehr und nicht weniger - OK.

                Und diese hier wird "geproxed", erkennbar am "x" am Anfang des Textes (wird von Server B eingefügt):
                http://umdiewelt.de/Asien/Suedostasien/Thailand/Reisebericht-24/Kapitel-0.html

                Und hier bekomme ich - egal von wo, also über welchen Internetanschluss ich das curle - stets den X-Cache Header "MISS from umdiewelt.de", einen Proxy bei der Internet-Anbindung können wir also auschließen, scheint so, als ober Server da was cachen würde, siehe auch mein anderes Posting.

                MfG, Dennis.

          2. Hi Eddie,

            ich habe mal noch etwas nach dem X-Cache Header recherchiert - einmal scheint es da etwas zu geben, wenn man den IIS benutzt, was sich XCache nennt. Da du aber einen Apache verwendest (wenn auch etwas älterer Bauart) dürftest du diese Header Analyse interessanter finden, dort wird unter anderem auf Squid Web Proxy Cache verwiesen (der Link dort ist fehlerhaft, deshalb hier) - anscheinend hinterlässt dieses Tool genau den X-Cache Header.

            Frage wäre nun noch, wo denn genau dieser Cache sich befindet...

            MfG, Dennis.

            1. Hallo Dennis,

              Squid Web Proxy Cache

              Krass, ok, wenn's das ist, dann ist ja alles klar. Auf die Idee, dass irgendwas anderes als der Apache die Header setzen könnte, bin ich garnicht gekommen...
              Offenbar brauche ich da Zugriff auf die squid.conf - hab ich aber nicht! Über die Suche habe ich sonst keine Möglichkeit gefunden, die Header zu löschen.

              Ich glaube, ich werde das Problem jetzt mit der Hauruck-Methode lösen. Also alles (KK-Antrag, Serverumstellung, Backups) in einer langen Nacht. Das ist scheisse, weil ich meine Mitglieder aussperren muss, aber dann geht's halt nicht anders. Irgendwann will ich's auch hinter mir haben!

              Danke dir nochmal fuer deine viele Zeit!!! Gelernt hab ich auf jeden Fall eine Menge!

              Eddie

              --
              Old men and far travelers may lie with authority.