small-step: URL-Weiterleitung auf lokalem Rechner über proxy.pac

Hallo alle,

Ich hoffe, dass mein Anliegen technisch umsetzbar ist. Folgendes Problem:

Ich bekomme per Mail einen Link auf einen Server. Die firmeninterne URL ist allerdings eine andere als die externe. In der E-Mail steht also z.B. http://bugzilla.domain.com/bugzilla/show_bug.cgi?id=5, ich müsste die URL aber auf meinem lokalen Rechner erweitern zu http://bugzilla.intern.domain.com/bugzilla/show_bug.cgi?id=5

mit der hosts-Datei kann ich dieses Problem offensichtlich nicht lösen, da ich Windows XP SP2 einsetze und diese Datei scheinbar nicht beachtet wird. Ist hier vielleicht eine Lösung über eine proxy.pac möglich? Ich finde leider nur Beispiele zum automatischen Setzen des Proxies.

Gruß,
small-step

  1. Moin Einer!

    Hallo alle,
    Ich finde leider nur Beispiele zum automatischen Setzen des Proxies.

    proxy.pac kann nicht die URL umschreiben sondern nur den passenden Proxy liefern. Also kann sie Dir so nicht weiterhelfen. Aber wenn Du einen Proxy einrichtest, auf den Du verweist, dann kann der Dir helfen, indem er umleitet auf den internen Rechner.

    -- Skeeve

    1. Hallo Skeeve,

      proxy.pac kann nicht die URL umschreiben sondern nur den passenden Proxy liefern. Also kann sie Dir so nicht weiterhelfen. Aber wenn Du einen Proxy einrichtest, auf den Du verweist, dann kann der Dir helfen, indem er umleitet auf den internen Rechner.

      Ich glaube das wäre zuviel des Guten. Gibt es eine andere Möglichkeit um die Weiterleitung umzusetzen?

      Gruß,
      small-step

  2. Hallo small-step,

    Ich bekomme per Mail einen Link auf einen Server. Die firmeninterne URL ist allerdings eine andere als die externe. In der E-Mail steht also z.B. http://bugzilla.domain.com/bugzilla/show_bug.cgi?id=5, ich müsste die URL aber auf meinem lokalen Rechner erweitern zu http://bugzilla.intern.domain.com/bugzilla/show_bug.cgi?id=5

    mit der hosts-Datei kann ich dieses Problem offensichtlich nicht lösen,

    Nein, mit der hosts-Datei allein kannst Du dieses Problem nicht lösen, weder unter Windows (völlig gleichgültig, welche Version) noch unter Linux und auch nicht unter irgeneinem anderen Betriebssystem.

    da ich Windows XP SP2 einsetze und diese Datei scheinbar nicht beachtet wird.

    Du irrst. Bei jedem Rechner mit einem Betriebssystem der NT-Familie und installiertem TCP/IP wird eine vorhandene Datei

    %systemroot%\system32\drivers\etc\hosts

    zur Namensauswertung herangezogen (zumindest unter allen, die mir bisher in die Finger gefallen sind). Du kannst das ganz leicht testen:

    1. Schreibe in diese Datei einen Eintrag der Form

    127.0.0.1    mein.bevorzugter.name

    2. Gebe an einer Kommandozeile

    ping mein.bevorzugter.name

    ein. Du wirst sehen, dass mein.bevorzugter.name zur IP-Adresse 127.0.0.1
       aufgelöst wird. Du kannst auch eine beliebige andere im lokalen Netzwerk
       existierende IP-Adresse nehmen. Du wirst sehen, es funktioniert.

    Also die Namensauflösung per hosts-Datei funktioniert, dennoch ist es nicht möglich, mit dieser allein Dein Vorhaben zu realisieren. Denn auch wenn Du in Deine hosts-Datei einen Eintrag aufnimmst der Form

    www.xxx.yyy.zzz   bugzilla.domain.com bugzilla.intern.domain.com

    weiß der Webserver immer noch nicht, dass er auf bugzilla.domain.com genauso reagieren soll wie auf bugzilla.intern.domain.com :-(

    Was Du machen musst, ist die URL umzuschreiben. Wenn ihr intern einen apache im Einsatz habt, dann wäre dies über mod_rewrite zu lösen.

    Ist hier vielleicht eine Lösung über eine proxy.pac möglich? Ich finde leider nur Beispiele zum automatischen Setzen des Proxies.

    Was mit proxy.pac vorhast, wieso Du überhaupt auf proxy.pac als Möglichkeit kommst, Deine Aufgabe zu lösen, ist mir schleierhaft. Kannst Du das näher erläutern?

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz Mai,

      Du irrst. Bei jedem Rechner mit einem Betriebssystem der NT-Familie und installiertem TCP/IP wird eine vorhandene Datei

      %systemroot%\system32\drivers\etc\hosts

      zur Namensauswertung herangezogen (zumindest unter allen, die mir bisher in die Finger gefallen sind). Du kannst das ganz leicht testen:

      Ich hatte in einem anderen Forum gelesen, dass es bei SP2 offensichtlich nicht mehr so wäre. War aber wahrscheinlich Bullshit.

      Was Du machen musst, ist die URL umzuschreiben. Wenn ihr intern einen apache im Einsatz habt, dann wäre dies über mod_rewrite zu lösen.

      Ich möchte meinen Admin nicht über Gebühr belasten. Es ist nur so, dass es mir persönlich auf den Keks geht jedesmal die URL anpassen zu müssen oder über die Bug-ID gehen zu müssen.

      Was mit proxy.pac vorhast, wieso Du überhaupt auf proxy.pac als Möglichkeit kommst, Deine Aufgabe zu lösen, ist mir schleierhaft. Kannst Du das näher erläutern?

      Schleierhaft ist es mir nach einer Nacht auch geworden, aber ich versuche meine Gedankengänge zu rekonstruieren.

      Mit der proxy.pac kann ich, wenn ich es richtig verstanden habe, abhängig vom Host oder der URL unterschiedliche Vorgehensweisen des Browsers anstoßen, also dass er bei internen Adressen z.B. einen anderen Proxy nutzt. Ich dachte mir, dass es eventuell möglich sein könnte die URL hier direkt umzuschreiben. Offensichtlich ist sie ja bekannt und möglicherweise könnte ich dem genutzten (in diesem Fall ein Squid-)Proxy eine andere oder modifizierte URL unterjubeln.

      Wahrscheinlich war dieser Gedanke ebenfalls Bullshit :-)

      Danke trotzdem für die Hilfe!
      small-step

      1. Moin!

        Mit der proxy.pac kann ich, wenn ich es richtig verstanden habe, abhängig vom Host oder der URL unterschiedliche Vorgehensweisen des Browsers anstoßen, also dass er bei internen Adressen z.B. einen anderen Proxy nutzt. Ich dachte mir, dass es eventuell möglich sein könnte die URL hier direkt umzuschreiben. Offensichtlich ist sie ja bekannt und möglicherweise könnte ich dem genutzten (in diesem Fall ein Squid-)Proxy eine andere oder modifizierte URL unterjubeln.

        Wahrscheinlich war dieser Gedanke ebenfalls Bullshit :-)

        Richtig.

        Der Servername, der im Browser in der URL-Zeile steht, wird auch als Hostname im HTTP-Headerfeld "host" benutzt, um den eventuellen virtuellen Host auf dem Server zu bestimmen.

        Das bedeutet für dich am Client: Auch ein Request via Proxy wird daran nichts ändern, egal ob mit proxy.pac oder sonst irgendeinem Mechanismus. Du müßtest dann schon einen Proxy haben, der dieses Headerfeld austauscht mit der gewünschten neuen Domain.

        Alternativ müßtest du den internen Server so konfigurieren, dass er auch mit der externen Domain die internen Seiten rausgibt.

        Entweder wird also ein selektiver Proxy für deinen Client auf die externe Domain gesetzt, der manipuliert, oder der interne Server reagiert auch auf die externe Domain (vom Proxy her), oder die DNS-Auflösung wird entsprechend manipuliert und auf den Proxy verzichtet.

        In jedem Fall aber bewirkt diese Vorgehensweise, dass die echte externe Domain nicht mehr erreichbar sein wird.

        Es dürfte da schlauer sein, auf die interne Domain grundsätzlich zu verzichten und eben je nach Quelle des Requests entweder den externen oder internen Server anzusprechen (bzw. die externe oder interne Sicht), oder die Links in der Mail zu ändern (wenn der interne Server von extern nicht erreichbar ist, dürfte es externe Teilnehmer kaum stören, nicht funktionale Links vorzufinden, die sie nicht erreichen können).

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Hallo Sven Rautenberg,

          danke für die Informationen. Ich denke in diesem Fall werde ich versuchen mit den Konsequenzen zu leben. Oder ich pack einfach einen zweiten, internen, Link in die Mail.

          Gruß,
          small-step