Mongrel und Apache, wie ist das mit den Ports?

Hallo Liste,

was mir noch Kopfzerbrechen bereitet ist das Zusammenwirken der
Web/Application Server. Ich verstehe das Port Handling nicht. Mein
Apache2 verarbeitet alles was auf Port 80 ankommt. Mongrel lauscht auf
Port 3000. Jetzt kann ich aber wegen Firewall usw. an einem Arbeitsplatz
in einer Firma nur Post 80 Verbindungen aufbauen. Und :3000 möchte man
ja auch nicht immer an die Adresse anhängen müssen.

Wie bringe ich Apache2 also bei die Anfragen an eine bestimmte Subdomain
an Port 3000 weiterzuleiten. Oder ist das der falsche Ansatz?

Danke für die Hilfe.

Holger

Was Du brauchst, heißt mod_proxy_balancer (musst Du ggf.
nachinstallieren, je nach Systemumgebung). Damit kannst Du Deinen
Apachen so konfigurieren, dass er alle Anfragen an eine bestimmte URL
oder einen bestimmten Pfad an Deinen Mongrel-Cluster weiterleitet.

In der httpd.conf (bzw. bei Debian der Dateien unter /etc/apache2/
sites-enabled) steht dann sinngemäß so etwas:

<Proxy balancer://irgendein_name>
BalancerMember http://127.0.0.1:3000
BalancerMember http://127.0.0.1:3001

RewriteRule ^/vaps/(.*)$ balancer://irgendein_name/$1 [P,QSA,L]

Alternativ kannst Du auch ProxyPass/ProxyPassReverse einsetzen, kommt
drauf an, wie genau Dein Setup aussieht.

In jedem Fall werden Anfragen dann vom Apache entgegengenommen (auf
Port 80) und bei Bedarf an den Mongrel weitergeleitet.

HTH,
Stefan

Stefan T., Stefan Tilkov’s Blog [Stefan Tilkov’s Blog]

Am 17.04.2008 um 20:17 schrieb Stefan T.:

In jedem Fall werden Anfragen dann vom Apache entgegengenommen (auf
Port 80) und bei Bedarf an den Mongrel weitergeleitet.

Das mit dem “bei Bedarf” heißt wenn es keine statische Datei gibt die
der Apache ausliefern könnte,
diese Requests an den mongrel weiterzuleiten wäre nämlich Unsinn.

ciao, tom


Thomas R. “TomK32” Koll || http://tomk32.de || http://ananasblau.com
just a geek trying to change the world
Skype: TomK32 || Mail: [email protected]

Stefan T. wrote:

Was Du brauchst, heiß´ mod_proxy_balancer (musst Du ggf.
nachinstallieren, je nach Systemumgebung). Damit kannst Du Deinen
Apachen so konfigurieren, dass er alle Anfragen an eine bestimmte URL
oder einen bestimmten Pfad an Deinen Mongrel-Cluster weiterleitet.

Ich scheitere leider schon im Ansatz. Den Proxy_balancer gibt es in
meiner Modulsammlung nicht. Und Apache.org kann ich ihn auch nicht
finden. Wo gibt es das Modul?

Ein Versuch mit Proxypass ist gescheitert. Ich könnte mir vorstellen,
dass der Proxypass nichts mit einer Weiterleitung auf einen anderen Port
zu tun haben will.

Danke für die Hilfe!

Holger

On Apr 18 2008, at 05:35, Holger Hänisch wrote:

Ich scheitere leider schon im Ansatz

Einfacher:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ “http://localhost:3000/$1” [P,QSA,L]

Die mittlere Zeile ist schon eine Optimierung (statische Files direkt
aus Apache ausliefern); bei Problemen diese Zeile weglassen.
(Es gibt noch ein paar mehr Zeilen, die man braucht, um Page-Caching
voll wirksam werden zu lassen; habe ich weggelassen.)
localhost ggfs. durch den Hostnamen des Rechners ersetzen, auf dem der
Mongrel laeuft. 3000 durch die Portnummer des Mongrel ersetzen.

Gruesse, Carsten

oder du versuchst es mit passenger (aka mod_rails). Dann brauchst du
dir um proxy_balancer, ports usw keine gedanken mehr machen…

installation ist sau einfach, am besten du schaust dir den screencast
an und machst es dann nach.

Am 17.04.2008 um 20:08 schrieb Holger Hänisch:

Wie bringe ich Apache2 also bei die Anfragen an eine bestimmte
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug


Siebert WD
Michael S.
Trappenweg 6, 15749 Mittenwalde, Deutschland

Hallo Holger,

Am 18.04.2008 um 05:35 schrieb Holger Hänisch:

Ich scheitere leider schon im Ansatz. Den Proxy_balancer gibt es in
meiner Modulsammlung nicht. Und Apache.org kann ich ihn auch nicht
finden. Wo gibt es das Modul?

das Modul gibt es erst in Apache Version 2.2, vielleicht ist das Dein
Problem:

http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html

Viele
GrüßeRalf

Am 18.04.2008 um 09:48 schrieb Michael S.:

oder du versuchst es mit passenger (aka mod_rails). Dann brauchst du
dir um proxy_balancer, ports usw keine gedanken mehr machen…

www.modrails.com

installation ist sau einfach, am besten du schaust dir den
screencast an und machst es dann nach.

Klingt spannend
Wie sind deine Erfahrungen damit ?

Nutzt du das produktiv ?
Gruß

Werner L.
Lindenburger Allee 22 - 50931
Köln
0221.8805 635


http://www.webagentur-laude.de

Ich habe es mit passenger versucht. Nachdem ich die Rechte der Dateien
richtig gesetzt hatte ging es dann auch. Mir scheint das wirkliche eine
gute Lösung. Danke für alle Tipps.

Holger

dann bist du hiermit verpflichtet, uns über die stabilität, fehler
etc zu berichten.
:slight_smile:

Am 18.04.08 schrieb Holger Hänisch [email protected]:

Ich habe es mit passenger versucht. Nachdem ich die Rechte der Dateien
richtig gesetzt hatte ging es dann auch. Mir scheint das wirkliche eine
gute Lösung. Danke für alle Tipps.

Holger

Posted via http://www.ruby-forum.com/.


Siebert Webdesign
Michael S.
Trappenweg 6, 15749 Mittenwalde, Deutschland

On 20:08 Do 17 Apr, Holger Hänisch wrote:

an Port 3000 weiterzuleiten. Oder ist das der falsche Ansatz?
meine Virtual-Host Definition des Apachen sieht so aus (und das tut es
ganz hervorragend):

<VirtualHost *>
ServerAdmin
ServerName
ServerAlias
CustomLog /pfad/zum/logfile

jetzt gehts los

<Proxy *>
Order deny,allow
Allow from all

bei Dir halt 3000 und die Adresse ist auch anzupassen

muss ja nicht auf localhost sein

ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
ProxyPreserveHost on
ProxyRequests Off

Zugriff auf statischen Inhalt nicht über Mongrel

(natürlich beliebig erweiterbar)

ProxyPass /images !
ProxyPass /stylesheets !

Alias und Pfad zum statischen Inhalt

Alias /images /pfad/zu/public/images
Alias /stylesheets /pfad/zu/public/stylesheets

Den Indianer neu starten und fortan sollte das passen…

Gruß
Torsten

Ich habs ausprobiert und benutze es auf einem (unbenutzten) staging-
system. extrem einfach und funktioniert. produktiv habe ich damit
keine erfahrungen, sollte aber stabil sein (lt aussage von phusion)

mfg
Am 18.04.2008 um 10:16 schrieb Werner L.:


rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug


Siebert WD
Michael S.
Trappenweg 6, 15749 Mittenwalde, Deutschland