Problem mit mod_proxy

Alles, was den Apache betrifft, kann hier besprochen werden.

Problem mit mod_proxy

Postby padde » 02. October 2009 17:24

Hallo!

Ich muss gleich mal vorweg sagen: ich beschäftige mich erst seit kurzer Zeit mit Apache, da ich begonnen habe Ruby On Rails zu lernen. Also bitte verzeiht "doofe" Fragen :) Nun habe ich meinen eigenen vServer soweit eingerichtet, dass ich mit Mongrel meine Rails-Applikationen zum laufen gebracht habe. Auf weite Sicht möchte ich jedoch den Apachen dafür verwenden, Bilder etc. statisch auszuliefern und alle Requests, die von Rails verarbeitet werden sollen, mittels LoadBalancer an ein Mongrel-Cluster weiterzureichen. So weit, so gut, nun zum eigentlich viel kleineren Problem:

Um klein anzufangen, habe ich mich erstmal mit einer einfachen Weiterleitung versucht. Der Apache soll die URL http://www.mysite.de:8000/ erhalten und dann die index.html die sich in http://www.mysite.de/test/ befindet zurückliefern. Der entsprechende Teil der httpd.conf sieht bei mir so aus:

Code: Select all
# Avoid being an open forward proxy
ProxyRequests off

Listen 8000
NameVirtualHost *:8000

<VirtualHost *:8000>
   ServerName  mysite.de:8000
   ServerAlias www.mysite.de:8000

   ErrorLog /var/log/apache2/test_error.log
   LogLevel warn

   ProxyPass / http://www.mysite.de/test/
   ProxyPassReverse / http://www.mysite.de/test/
   ProxyPreserveHost on
</VirtualHost>


Wenn ich nun versuche http://www.mysite.de:8000/ aufzurufen bekomme ich erstmal nen HTTP 403:

Code: Select all
~$ wget http://www.mysite.de:8000/
...
HTTP Anforderung gesendet, warte auf Antwort... 403 Forbidden
2009-10-02 18:11:48 FEHLER 403: Forbidden.


Mein dafür angelegtes test_error.log enthält folgendes:

Code: Select all
[Fri Oct 02 16:15:09 2009] [error] [client xxx.xx.xxx.x] client denied by server configuration: proxy:http://www.mysite.de/test/
[Fri Oct 02 16:15:09 2009] [error] [client xxx.xx.xxx.x] client denied by server configuration: proxy:http://www.mysite.de/test/favicon.ico, referer: http://www.mysite.de:8000/


Was habe ich hier falsch gemacht? Ich meine herausgefunden zu haben, dass eine Standard-Einstellung mir das verbietet. Ich konnte den gewünschten Effekt erzielen, als ich in meiner httpd.conf Proxy-Requests für alle erlaubt habe, aber das scheint mir ne ganz fürchterlich schlechte Lösung zu sein, weil dann ist mein Server ja ein offener Forward Proxy oder nicht? So hab ichs gemacht:

Code: Select all
<VirtualHost *:8000>
   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>
   
   ...
   
</VirtualHost>



Vielleicht hat ja jemand nen Tip oder hatte schonmal ein ähnliches Problem? Vielen Dank für eure Hilfe!

Gruß,
Patrick
padde
 
Posts: 2
Joined: 02. October 2009 16:57

Re: Problem mit mod_proxy

Postby Nobbie » 02. October 2009 22:00

>ProxyPass / http://www.mysite.de/test/

Welcher Webserver lauscht denn auf www.mysite.de auf Port 80 um /test auszuliefern?
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: Problem mit mod_proxy

Postby padde » 03. October 2009 02:38

Auf Port 80 lauscht momentan auch der Apache. Mir fält gerade auf, dass ich das etwas verwirrend aufgebaut habe, denn später soll der vHost auf Port 80 lauschen und auf einen mongrel auf Port 3000 "weiterleiten".

Mein eigentliches Problem hat sich mittlerweile gelöst. Habe diesen Teil in meiner httpd.conf gelassen:

Code: Select all
<VirtualHost *:8000>
   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>
   
   ...
   
</VirtualHost>


Per telnet habe ich dann versucht über den Proxy nach aussen zu kommen und es ging nicht. Das ist mir sicher genug :)
padde
 
Posts: 2
Joined: 02. October 2009 16:57


Return to Apache

Who is online

Users browsing this forum: No registered users and 14 guests