Jensn: Anfragen auf Server_2 ausführen u auf Server_1 ausgeben?

Hallo,

ist es irgendwie möglich, einen Seitenaufruf aus dem WWW auf einen Server (Server_1) zu einem anderen Server (Server_2 -> steht nur im Intranet und hat nur eine Verbindung zu Server_1) weiter zuleiten den Seitenaufruf auf Server_2 zu bearbeiten und dann die Seite von Server_2 auf Server_1 auzugeben?

Normales Vorgehen:

Ich gehe auf die Seite www.beispiel.de (läuft auf Server_1) klicke dort auf einen link der auf eine Seite von Server_2 zeigt. Diese Seite von Server_2 soll auf Server_2 bearbeitet werden (nur von Server_2) und wenn die Seite fertig ist, zu Server_1 geschickt werden und von Server_1 an mich ausgegeben werden.

Sprich:

ICH - > www.beispiel.de -> Server_1 -> Server_2 -> Server_1 -> ICH

Gibt es da eine möglichkeit??
Wie sieht ein link ins Intranet aus?

  1. Hi,

    Sprich:

    ICH - > www.beispiel.de -> Server_1 -> Server_2 -> Server_1 -> ICH

    Gibt es da eine möglichkeit??
    Wie sieht ein link ins Intranet aus?

    das ist rel. einfach. AdHoc fällt mir der Mißbrauch eines Loadbalancers ein, weil ich mich gerade damit beschäftige:
    PEN

    Aber Vorsicht, daß Du Dir da nicht ein Sicherheitsloch einbaust!!!

    Gruß
    Reiner

    1. das ist rel. einfach. AdHoc fällt mir der Mißbrauch eines Loadbalancers ein, weil ich mich gerade damit beschäftige:
      PEN

      Grumpf, nochmal nachgedacht...
      Das war Quatsch! Wenn Du den Rechner im Intranet nicht siehst, funktioniert es mit PEN auch nicht.
      Ich habe sowas für eine Datenbank-Anwendung gemacht. Aber da ist der Fall ja anders, weil der User im Internet die Datenbank gar nicht sehen muß, ausliefern tut der Apache vom Server 1. Was der im Hintergrund mit Server 2 an Daten austauscht, ist aus User-Sicht unerheblich.

      Aber mir fällt dennoch was ein.
      Ich glaube es gibt da was für den Apache (Reverse-Proxy?) oder Du baust Dir ein Perl-Script, daß wie ein Proxy funktioniert.
      Z.B. mit LWP müßte das gehen, d.h. User fragt Server 1, Server 1 holt Seite von Server 2 (per LWP) und spuckt das für den User stellvertretend für Server 2 aus.

      Sicherheitsmäßig aber selbe Bedenken wie eben!

      Gruß
      Reiner

      1. Hallo Reiner,

        Sicherheitsmäßig aber selbe Bedenken wie eben!

        Ein Stichwort, von dem ich in diesem Zusammenhang gehört habe, ist IP-Tunnelung... oder so ;-).

        Gruß aus Köln-Ehrenfeld,

        Elya

      2. das ist rel. einfach. AdHoc fällt mir der Mißbrauch eines Loadbalancers ein, weil ich mich gerade damit beschäftige:
        PEN

        Wie müßte ich diesen loadbalancer konfigurieren? Wo bekomme ich den her? Wo müßte der Rechner mit diesem loadbalancer hin? Vor Server_1, oder dahinter??

        Grumpf, nochmal nachgedacht...
        Das war Quatsch! Wenn Du den Rechner im Intranet nicht siehst, funktioniert es mit PEN auch nicht.

        Server_1 und Server_2 sehen, sie können mit einander komunizieren.

        Ich habe sowas für eine Datenbank-Anwendung gemacht. Aber da ist der Fall ja anders, weil der User im Internet die Datenbank gar nicht sehen muß, ausliefern tut der Apache vom Server 1. Was der im Hintergrund mit Server 2 an Daten austauscht, ist aus User-Sicht unerheblich.

        Das ist doch bei mir auch so, oder nicht? Dem User fällt doch gar nicht auf, von wem er die Seite bekommt.

        Aber mir fällt dennoch was ein.
        Ich glaube es gibt da was für den Apache (Reverse-Proxy?) oder Du baust Dir ein Perl-Script, daß wie ein Proxy funktioniert.

        Von Perl habe ich keine Ahnung geht das auch mit PHP??

        Z.B. mit LWP müßte das gehen, d.h. User fragt Server 1, Server 1 holt Seite von Server 2 (per LWP) und spuckt das für den User stellvertretend für Server 2 aus.

        Was ist LWP? Was muß ich haben?

        Sicherheitsmäßig aber selbe Bedenken wie eben!

        Was weren das für bedenken?

        Gruß
        Reiner

        Danke für deine schnelle antwort.

        1. Wie müßte ich diesen loadbalancer konfigurieren? Wo bekomme ich den her? Wo müßte der Rechner mit diesem loadbalancer hin? Vor Server_1, oder dahinter??

          Vergiß die Idee, ich war etwas verwirrt! ;-)
          Wenn Du vom Server 2 "nur" Daten aus einer Datenbank holen wolltest, wäre die Lösung prima gewesen. Dein Script (egal ob Php oder Perl oder sonstwas) würde dann auf dieser Ebene mit Server 2 kommunizieren. Der User bekommt davon nichts mit.

          Grumpf, nochmal nachgedacht...
          Das war Quatsch! Wenn Du den Rechner im Intranet nicht siehst, funktioniert es mit PEN auch nicht.

          Server_1 und Server_2 sehen, sie können mit einander komunizieren.

          Das ist aber ein gewaltiger Unterschied! Die beiden Rechner können sich sicherlich sehen, ob sich beide gegenseitig sehen, weißt Du alleine, aber der Server 2 müßte zumindest Server 1 sehen!

          Was Du brauchst ist ein Proxy bzw. ein Script, was das macht.
          Der User kommuniziert ja nur mit Server 1, Server 2 sieht er vielleicht gar nicht, weil Du nur eine IP hast bzw. eine Domain, auf die nur Server 1 reagiert, weil der zweite hinter einer Firewall steht....

          Ich habe sowas für eine Datenbank-Anwendung gemacht. Aber da ist der Fall ja anders, weil der User im Internet die Datenbank gar nicht sehen muß, ausliefern tut der Apache vom Server 1. Was der im Hintergrund mit Server 2 an Daten austauscht, ist aus User-Sicht unerheblich.

          Das ist doch bei mir auch so, oder nicht? Dem User fällt doch gar nicht auf, von wem er die Seite bekommt.

          Doch, nämlich dann wenn es nicht klappt.
          Du brauchst doch auf Server 1 etwas (Proxy), was die Daten von Server 2 weiterleitet. Stell Dir das wie Stille Post vor!

          Aber mir fällt dennoch was ein.
          Ich glaube es gibt da was für den Apache (Reverse-Proxy?) oder Du baust Dir ein Perl-Script, daß wie ein Proxy funktioniert.

          Von Perl habe ich keine Ahnung geht das auch mit PHP??

          Ja, aber davon habe ich nicht soviel Ahnung! ;-)

          Z.B. mit LWP müßte das gehen, d.h. User fragt Server 1, Server 1 holt Seite von Server 2 (per LWP) und spuckt das für den User stellvertretend für Server 2 aus.

          Was ist LWP? Was muß ich haben?

          Such mal auf http://www.cpan.org nach LWP::Simple

          Sicherheitsmäßig aber selbe Bedenken wie eben!

          Was weren das für bedenken?

          Naja, ich weiß nicht, ob Du das in (D)einer Firma machen möchtest.
          Wenn ja, ist das ein Kündigungsgrund, wenn Du mit solchen Techniken versuchst, aus dem Intranet ein Internet zu machen!!!

          Gruß
          Reiner

          1. » Was Du brauchst ist ein Proxy bzw. ein Script, was das macht.
            » Der User kommuniziert ja nur mit Server 1, Server 2 sieht er vielleicht gar nicht, weil Du nur eine IP hast bzw. eine Domain, auf die nur Server 1 reagiert, weil der zweite hinter einer Firewall steht....

            Richtig, der User sieht Server_2 nicht. Braucher ja nicht, wenn Server_1 als vermittlungsstation dient.

            Von Perl habe ich keine Ahnung geht das auch mit PHP??

            Ja, aber davon habe ich nicht soviel Ahnung! ;-)

            Da kuck ich mir eben PERL an. Nimmt sich ja alles nicht so viel.

            Z.B. mit LWP müßte das gehen, d.h. User fragt Server 1, Server 1 holt Seite von Server 2 (per LWP) und spuckt das für den User stellvertretend für Server 2 aus.

            Sicherheitsmäßig aber selbe Bedenken wie eben!

            Was weren das für bedenken?

            Naja, ich weiß nicht, ob Du das in (D)einer Firma machen möchtest.
            Wenn ja, ist das ein Kündigungsgrund, wenn Du mit solchen Techniken versuchst, aus dem Intranet ein Internet zu machen!!!

            Das ist so gewünscht. Gibt es hackermäßig irgendwelche bedenken?

            Hast du ein kleines Bsp. Script zur Hand, welches eine Seite von einem Server anfordert und dann wieder ausgibt?

            Noch ein paar Fragen.
            Das PERL script holt die Seite von Server_2. Wird da die ganze Seite mit Bildern und so, über Server_1 an den User gesendet? Oder muß Server_1 die Seite die von Server_2 kommt auswerten? Oder muß dann der browser die Bilder "nachladen" (wie es ja normalerweise ist)? Was passiert wenn auf Server_2 eine javaaplikation läuft? Wird dann alles auf Server_2 ausgeführt und über den Server_1 an den User geschickt? Wie sieht die URL von möglichen links aus, die wieder auf Server_2 zeigen? Die müßten ja auf Server_1 zeigen und Server_1 muß wissen, das die Seite auf Server_2 ist?

            Sorry wegen den ganzen Fragen, ich will aber nicht etwas anfangen und Zeit verschwenden, ohne das ich meinem Ziel näher komme.

            Danke.

            1. Naja, ich weiß nicht, ob Du das in (D)einer Firma machen möchtest.
              Wenn ja, ist das ein Kündigungsgrund, wenn Du mit solchen Techniken versuchst, aus dem Intranet ein Internet zu machen!!!

              Das ist so gewünscht. Gibt es hackermäßig irgendwelche bedenken?

              Das mußt Du beurteilen!

              Hast du ein kleines Bsp. Script zur Hand, welches eine Seite von einem Server anfordert und dann wieder ausgibt?

              use LWP::Simple;
              use strict;
              my $url = "http://192.168.1.31/unter_seite/index.html";
              my $data = get($url);
              print "Content-type: text/html\n\n";
              print $data;

              Noch ein paar Fragen.
              Das PERL script holt die Seite von Server_2. Wird da die ganze Seite mit Bildern und so, über Server_1 an den User gesendet? Oder muß Server_1 die Seite die von Server_2 kommt auswerten? Oder muß dann der browser die Bilder "nachladen" (wie es ja normalerweise ist)? Was passiert wenn auf Server_2 eine javaaplikation läuft? Wird dann alles auf Server_2 ausgeführt und über den Server_1 an den User geschickt? Wie sieht die URL von möglichen links aus, die wieder auf Server_2 zeigen? Die müßten ja auf Server_1 zeigen und Server_1 muß wissen, das die Seite auf Server_2 ist?

              Ja, natürlich. Die Bilder sind nicht dabei. Aber in $data (dem Quelltext) steht ja die Adresse drin. Du mußt nur noch durchhüpfen, die Bilder auch alle holen und dann den Quelltext auf URIs von Server 1 verdrehen.

              Vielleicht geht es auch viel einfacher mit wget oder so. Glaube aber, das ist nicht schnell genug.

              Viel eleganter wäre aber ein proxy!
              Such doch mal unter "proxy perl script" in google, ob es sowas nicht schon gibt. Man muß das Rad ja nicht neu erfinden.

              Sorry wegen den ganzen Fragen, ich will aber nicht etwas anfangen und Zeit verschwenden, ohne das ich meinem Ziel näher komme.

              Hmm, wenn Du keinen Zeitdruck hast, ist sowas niemals "verschwendete Zeit". Gerade dadurch bekommt man einen tieferen Einblick, wie der ganze Krempel funktioniert.

              Gruß
              Reiner

            2. Hi!

              Hast du ein kleines Bsp. Script zur Hand, welches eine Seite von einem Server anfordert und dann wieder ausgibt?

              Wie Reiner schon sagte, die elegantere Methode wäre ein (transparenter) Reverse Proxy, z.B. Apache mit mod_proxy: http://httpd.apache.org/docs-2.0/mod/mod_proxy.htm, ist auch mit mod_rewrite kombinierbar, um das noch flexibler zu machen.

              Oder auch ein Squid (http://www.squid-cache.org/), je nachdem. Bei einem Reverse Proxy kannst Du auf Server_1 genau einstellen welche URL an welchen Server weitergeleitet werden soll, oder ob lokal geantwortet wird. Hierfür ist keine Änderung an den Client-Einstellungen - wie bei "normalen" Forward Proxies - notwendig. Der Client "denkt", alles käme direkt von Server_1.

              Du musst aufassen dass der Proxy nicht von Unbefugten verwendet werden kann, siehe entsprechende Doku.

              Grüße
              Andreas

              --
              SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
  2. Sup!

    Ohne relativ heftige Manipulation an Server 1 und/oder 2 und/oder einem Gateway wird das nicht gehen.

    Gruesse,

    Bio

    --
    Keep your friends close, but your enemies closer!