ubuntuusers.de

Probleme mit Apache Proxy

Status: Ungelöst | Ubuntu-Version: Ubuntu 11.04 (Natty Narwhal)
Antworten |

daduda

Anmeldungsdatum:
28. September 2011

Beiträge: Zähle...

Hallo erstmal,

ich habe Zuhause einen Ubuntu-Server auf dem ich einen Apache-Server laufen habe und da hab ich Redmine installiert. Über einen DNS-Eintrag kann ich im LAN darauf via "http://Redmine.intern" zugreifen.

Nun möchte ich gerne von außen auch drauf zugreifen können und hab mir auf einem alten Rechner auch Ubuntu-Server installiert. Dieser soll eigentlich nur als Zugangspunkt von außen dienen. Wenn ich auf einen dyndns-link zugreif, komm ich auf diesem alten Server raus. Dort hab ich ebenfalls einen Apache-Server installiert. Nun möchte ich über meinen dyndns-Link und /redmine mittels Proxy auf meine Redmine-Seite zugreifen. Doch irgendwie bekomme ich die Konfiguration nicht zum laufen. Bisher bekomme ich nur das HTML-Grundgerüst von Redmine über den Proxy übermittelt aber die ganzen Stylesheets etc. werden nicht korrekt verlinkt. Hab versucht das mit mod_proxy_html zum laufen zubekommen aber selbst wenn ich "ProxyHTMLURLMap / /redmine" angeb, werden die Links nicht verändert. Der Apache startet ohne Fehlermeldung.

So schaut meine vhost-Konfiguration auf dem Proxy aus:

<VirtualHost *:80>
        DocumentRoot /var/www
        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>
        ProxyPass /redmine/ http://Redmine.intern/
        ProxyPassReverse /redmine/ http://Redmine.intern/
</VirtualHost>

Hab ich irgendetwas vergessen oder verkehrt gemacht?

Ich hoffe sehr dass mir jemand helfen kann.

Gruß

daduda

schnux

Avatar von schnux

Anmeldungsdatum:
22. März 2009

Beiträge: 538

Wohnort: Dresden

Hi,

ich steig nicht dahinter wofür der zweite Rechner ist. Was hindert dich daran, den Server von außen zu erreichen, auf dem dein Redmine installiert ist ?

ansonsten ist als Reverse-Proxy Nginx meines Erachtens um einiges leichter einzurichten (gut, ich hab auch keine Ahnung wie man es mit Apache macht ☺ )

daduda

(Themenstarter)

Anmeldungsdatum:
28. September 2011

Beiträge: 4

Hi schnux,

ich möchte den Rechner nicht direkt erreichbar machen weil da noch ein paar andere Dienste drauf laufen.

Aper ich werd mir den Nginx mal anschauen. Danke schon mal für den Tip ☺

schnux

Avatar von schnux

Anmeldungsdatum:
22. März 2009

Beiträge: 538

Wohnort: Dresden

Achso, ok - könnte man mittels Firewall aber sicher auch regeln... Das hier sieht jedenfalls wie dein Problem aus:

http://www.apachetutor.org/admin/reverseproxies

The same problem of course applies to included content such as images, stylesheets, scripts or applets, and other contexts where URLs occur in HTML.

To fix this requires us to parse the HTML and rewrite the links. This is the purpose of mod_proxy_html. It works as an output filter, parsing the HTML and rewriting links as it is served. Two basic configuration directives are required to set it up:

ProxyHTMLEnable On This activates mod_proxy_html (and mod_xml2enc if available) for the request, and enables ProxyHTMLURLMap and other directives. ProxyHTMLURLMap from-pattern to-pattern [flags] [cond] In its basic form, this has a similar purpose and semantics to ProxyPassReverse. Additionally, an extended form is available to enable search-and-replace rewriting of URLs within Scripts and Stylesheets.

daduda

(Themenstarter)

Anmeldungsdatum:
28. September 2011

Beiträge: 4

Hehe ☺

Genau den Link hatte ich auch schon erkundet.

Hab sogar das Posting nahezu mit c&p verwendet aber ich hatte halt den Eindruck dass dieser HTML-Proxy-Mod nicht verwendet wird. Wie gesagt, die HTML-Startseite bekomme ich ja, aber Stylesheets und so fehlen. Also sämtliche Links wurden nicht verändert aber die Weiterleitung an sich hat funktioniert.

schnux

Avatar von schnux

Anmeldungsdatum:
22. März 2009

Beiträge: 538

Wohnort: Dresden

Du hast aber nicht die ProxyHTMLEnable On und ProxyHTMLURLMap Direktive drin, zumindest hast du sie hier nicht gepasted.

Wo linken denn die stylesheets via proxy hin? Betrifft das auch Bilder? Vielleicht erkennst du an der URL das Problem. Ansonsten steht dort ja auch was von Debugging.

Aber wie gesagt. nginx ist da einfacher. Und ein zweiter Rechner Stromverschwendung 😉 Es gibt Firewall-Regeln, selbst per hosts.allow/deny sollte sich was machen lassen

daduda

(Themenstarter)

Anmeldungsdatum:
28. September 2011

Beiträge: 4

Oh ja das war ne andere Konfiguration.

Hab mehrere durchprobiert. Auf jeden fall: Die ProxyHTMLEnable On Direktive gibt es nur ab Version 3.1 und ich hab 3.0.1 oder so drauf.

Ich habe mit ProxyHTMLURLMap mehrere Möglichkeiten durchprobiert, wovon keine funktioniert hat -.-

Die URL's zeigen auf Ordner auf dem Redmine-Rechner. Wenn ich die Seite direkt aufruf funktionert das auch nur über den Proxy sollte er eigentlich die Links verändern und noch "/redmine" davorschreiben.

ich werd einfach mal nginx ausprobieren ☺

Antworten |