Apache hinter Proxy, Zugriff aufs Internet?

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Apache hinter Proxy, Zugriff aufs Internet?

Postby derflash » 21. September 2007 16:48

Hallo,

ich habe gerade schon gesucht und einige Beiträge in der Richtung gefunden, aber keinen, der mir weiterhilft, darum frage ich nochmal direkt. Also Lage ist wie folgt:

Ich wohne in einem Studentenwohnheim und sitze somit hinter einem Proxyserver, den ich nicht verändern kann. Für eine Seminararbeit habe ich ein ELearningsystem (www.ilias.de) installiert, dessen Code ich auch nicht verändern kann. In ILIAS habe ich ein Modul erstellt, was man auch exportieren kann, allerdings ist dafür vorher eine Registration bei der Uni Köln (Entwickler von ILIAS) nötig, dies geht nur (!) über eine Setupseite des bei mir installierten ILIAS-Systems, was versucht sich mit den Servern der Uni Köln zu verbinden. Natürlich scheitert dies jedesmal, da der Apache wohl versucht, direkt aufs Internet zuzugreifen, wohingegen er einfach nur die Anfrage über einen bestimmten Proxy rausschicken müsste.

Kann ich den Apache irgendwie dazu bringen, dass er das macht? Z.B. habe ich da einen Ordner namens proxy gefunden und in der httpd.conf steht auch auskommentiert, dass er ein proxy-Modul landen soll (einfaches Entfernen des Kommentarzeichens ändert nichts daran).

Kurz zusammengefasst nochmal:

- XAMPP läuft unter Windows XP hinter Proxyserver
- Proxy kann nicht von mir verändert werden
- "Programm", das XAMPP nutzt, kann nicht von mir verändert werden
- "Programm" muss irgendwie aufs Internet zugreifen

Einzige Möglichkeit: Apache irgendwie beibringen, dass er über einen Proxyserver ins Internet kommt.

Ist das irgendwie möglich?


Danke schonmal!
derflash
 
Posts: 3
Joined: 21. September 2007 16:37

Postby Wiedmann » 21. September 2007 18:16

Einzige Möglichkeit: Apache irgendwie beibringen, dass er über einen Proxyserver ins Internet kommt.

Du übersiehst da nur eines... Es will ja nciht der Apache auf das Internet zugriefen, sondern dieses Programm "ILIAS".

- "Programm", das XAMPP nutzt, kann nicht von mir verändert werden

Bei einem fehlerhaften Programm ("ILIAS"), sollte man aber zumindest beim Entwickler einen Bug melden können, und dann hoffen das bald ein Patch rauskommt. Zumindest sollten die dir eine erprobte Hilfe zu ihrem System gegben können.

- "Programm" muss irgendwie aufs Internet zugreifen
...
was versucht sich mit den Servern der Uni Köln zu verbinden.

Sofern das Programm normale HTTP-Requests macht, und über DNS und nicht per IP auf seinen Server zugreifen will, könntest du in eurem DNS-Server (oder HOSTS-Datei) einen Eintrag für diesen Namen erstellen, der auf deinen Apachen zeigt. Auf deinem Apachen lässt du dann passend einen reverse Proxy laufen, welcher dann einen übergeordneten Proxy unterstützt.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby derflash » 21. September 2007 18:39

Wiedmann wrote:Du übersiehst da nur eines... Es will ja nciht der Apache auf das Internet zugriefen, sondern dieses Programm "ILIAS".


Mmmh, irgendwie war ich jetzt davon ausgegangen, dass ILIAS eine Anfrage über den zugehörigen Webserver rausjagt und der, in dem Fall Apache, das ganze dann weiterleitet. Aber da ich gerade erst anfange, mich mit dieser Materie zu befassen, liege ich damit wohl daneben. Verstehe ich das denn dann jetzt richtig, dass Apache nur Anfragen von außen entgegennimmt, diese an das entsprechende Programm weiterleitet und dessen Anwort zurückliefert?

Bei einem fehlerhaften Programm ("ILIAS"), sollte man aber zumindest beim Entwickler einen Bug melden können, und dann hoffen das bald ein Patch rauskommt. Zumindest sollten die dir eine erprobte Hilfe zu ihrem System gegben können.


Ein Bugreportsystem gibt es ja, aber soweit ich verstanden habe, sind Webserver hinter einem Proxy ja generell nicht von außen erreichbar, so dass es wenig Sinn macht, sowas bei einem System einzubauen, dass gezielt ein Weblearningsystem ist...

Sofern das Programm normale HTTP-Requests macht, und über DNS und nicht per IP auf seinen Server zugreifen will, könntest du in eurem DNS-Server (oder HOSTS-Datei) einen Eintrag für diesen Namen erstellen, der auf deinen Apachen zeigt. Auf deinem Apachen lässt du dann passend einen reverse Proxy laufen, welcher dann einen übergeordneten Proxy unterstützt.


Ich weiß es nicht, was es macht, aber zumindest stand in der Timeoutfehlermeldung keine IP-Adresse sondern ein Servername drin (der per Browser auch erreichbar ist). Ich glaube Dir, dass der Lösungsvorschlag funktioniert, allerdings würde das ganze wohl meine Fähigkeiten bei weitem übersteigen. Ich hatte gehofft, dass es möglich ist, das mit ein paar kleinen Änderungen in config-Files zu ändern. Da ich mich jetzt aber dafür richtig einarbeiten müsste und mir dazu die Zeit fehlt, werde ich wohl "einfach" mal mit Rechner zu irgendwem gehen, der einen Internetanschluss ohne Proxy dazwischen hat. Das wird wohl die effizienteste Lösung sein, da ich den Internetzugriff wohl nur einmal brauchen werde.

Danke trotzdem für Deine Antwort!
derflash
 
Posts: 3
Joined: 21. September 2007 16:37

Postby Wiedmann » 21. September 2007 19:11

Verstehe ich das denn dann jetzt richtig, dass Apache nur Anfragen von außen entgegennimmt, diese an das entsprechende Programm weiterleitet und dessen Anwort zurückliefert?

Genau, so der Standardablauf. Ab Beispiel eines CGI-Programmes wird das deutlich:
- Der Browser sagt dem Server, er möchte ein bestimmtes Programm ausführen, dass unter einer bestimmten URI abrufbar ist.
- Der Server startest daraufhin das Programm (als Subprocess).
- Wenn der Browser Daten an das Programm übermitteln will, übergibt der Apache diese über STDIN dem Programm (in der Shell wäre das die Tastatureingabe).
- Ausgaben die das Programm macht, macht dieses über STDOUT. (in der Shell wäre das die Bildschirmausgabe)
- Der Apache leitet dann einfach diese Ausgaben die er über STDOUT erhält an den Browser weiter.

Allerdings kann so ein Programm auch selbstständig, im Laufe des Programmcodes, über das Netzwerk auf andere Server zugreifen. Oder, was eigentlich das Selbe ist, es greift z.B. auf das lokale Dateisystem zu um Dateien zu lesen oder zu schreiben. Hierbei ist der Apache nicht beteiligt.

sind Webserver hinter einem Proxy ja generell nicht von außen erreichbar, so dass es wenig Sinn macht, sowas bei einem System einzubauen, dass gezielt ein Weblearningsystem ist...

Hmm, da würde ich eher sagen, dies ist eine kurzsichtige Sichtweise... Immerhin werden E-Learningsystem ja auch in Firmen zur (Weiter-) Bildung der Mitarbeiter eingesetzt. Und da kommen dann Proxys auch häufig vor.

Nicht zu vergessen das studentische Umfeld. Das manche Campus- oder Wohnheimnetzte hinter einem Proxy sitzen ist ja nichts neues.

(Allerdings kann man sich natürlich fragen, welche Studenten lernen in ihren eigenen 4 Wänden, und installieren sich dann auch noch ein Lernsystem für sich und manche Mitlerner auf dem privaten Recher? *fg* ;-) )

werde ich wohl "einfach" mal mit Rechner zu irgendwem gehen, der einen Internetanschluss ohne Proxy dazwischen hat. Das wird wohl die effizienteste Lösung sein, da ich den Internetzugriff wohl nur einmal brauchen werde.

Dem kann ich zzustimmen. Dürfte wohl das gescheiteste und einfachste sein. (Schadet aber wohl nichts, trotzdem einen Bugreport zu erstellen). Und solange das Programm seine Registrierung nicht hin und wieder überprüfen will, sollte das ja ohne Probleme gehen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby derflash » 21. September 2007 21:55

Danke für die Erklärung, das war eigentlich etwas, was ich schon immer wissen wollte, aber mir bisher keiner in der Form erklärt hat :).


Hmm, da würde ich eher sagen, dies ist eine kurzsichtige Sichtweise...

Naja, nicht unbedingt: Firmen haben ja nicht den Zwang, den Webserver HINTER dem Proxy laufen zu lassen, die haben ja normalerweise sowieso irgendwo einen Webauftritt gehostet. Und selbst wenn es für die Schulung der Mitarbeiter sein soll, können die ja immernoch über den Proxy daraufzugreifen, das Problem ist ja nur darin, das Lernsystem hinter einem Proxy zu haben (bei mir ist es ja auch nur, damit ich nicht online sein muss, um das Lehrmodul zu erstellen *g*). Die Registrierung braucht man auch nur, um die Lehrmodule exportieren zu können - meinem Verständnis nach geht es dabei einfach nur darum, dass man nicht mehrere Objekte mit der gleichen ID hat, darum wohl eine Unterscheidung nach Ersteller, der dann eben auch eine eindeutige ID braucht...
derflash
 
Posts: 3
Joined: 21. September 2007 16:37


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 76 guests