Hallo,
seit gestern bin ich stolzer Besitzer eines unter Linux laufenden Apache (Version 2.2.3/MPM Prefork). Nun hab ich leider ein ernsthaftes Problem...
Und zwar verbietet das Webfrontend meines DSL-Routers (Netgear RP614v2) mehrere gleichzeitige Zugriffe. Jetzt will ich aber genau dies (einerseits soll alle x Sekunden per Script meine aktuelle IP-Adresse ausgelesen werden, andererseits will ich natürlich auch noch selbst Zugriff auf das Menü haben).
Um dieses Problem in den Griff zu kriegen, habe ich vor einiger Zeit, als mein Apache noch unter Windows lief (dort in Version 2.2.4) einfach einen Proxy eingerichtet mit folgenden Optionen:
Die Option max=1 und die Zeile SetEnv proxy-nokeepalive 1 sorgten dafür, dass der Apache nur eine einzige Verbindung aufbaute und über diese alle Clients versorgte, was auch wunderbar funktionierte...bis ich dann auf Linux wechselte!
Jetzt bekomme ich zu 90% einen 503-Fehler (Service Unavailable), der darauf hindeutet, dass der Apache versucht, mehrere gleichzeitige Verbindungen zum Router aufzubauen.
Die Ausgabe von netstat deutet auch daraufhin, dass die max=1 Anweisung einfach missachtet wird und stattdessen jedesmal gleich mehrere Verbindungen aufgebaut werden:
Ich hab mich schon schier tot-gegoogelt, aber einfach nichts passendes gefunden, überall scheint das Limit zu funktionieren...
Hat irgendwer eine Idee?
Vielen Dank,
MrToiz
seit gestern bin ich stolzer Besitzer eines unter Linux laufenden Apache (Version 2.2.3/MPM Prefork). Nun hab ich leider ein ernsthaftes Problem...
Und zwar verbietet das Webfrontend meines DSL-Routers (Netgear RP614v2) mehrere gleichzeitige Zugriffe. Jetzt will ich aber genau dies (einerseits soll alle x Sekunden per Script meine aktuelle IP-Adresse ausgelesen werden, andererseits will ich natürlich auch noch selbst Zugriff auf das Menü haben).
Um dieses Problem in den Griff zu kriegen, habe ich vor einiger Zeit, als mein Apache noch unter Windows lief (dort in Version 2.2.4) einfach einen Proxy eingerichtet mit folgenden Optionen:
Code:
<VirtualHost *:80>
ServerName routeradmin
ServerAlias routeradmin.geisnet.dyndns.org router-admin.geisnet.dyndns.org
ProxyPass /error/ !
ProxyPass /icons/ !
ProxyPass / https://router.geisnet.dyndns.org/ max=1
ProxyPassReverse / https://router.geisnet.dyndns.org/
SetEnv force-proxy-request-1.0
SetEnv proxy-nokeepalive 1
ErrorLog /var/log/apache2/proxy-error.log
CustomLog /var/log/apache2/proxy-access.log combined
<Proxy *>
Order deny,allow
Allow from all
Deny from all
Allow from 127.0.0.0/8
Allow from .geisnet.dyndns.org
</Proxy>
</VirtualHost>
Jetzt bekomme ich zu 90% einen 503-Fehler (Service Unavailable), der darauf hindeutet, dass der Apache versucht, mehrere gleichzeitige Verbindungen zum Router aufzubauen.
Die Ausgabe von netstat deutet auch daraufhin, dass die max=1 Anweisung einfach missachtet wird und stattdessen jedesmal gleich mehrere Verbindungen aufgebaut werden:
Code:
moritz@Geisbutler:~$ netstat -a | grep router
tcp 0 0 geisbutler.geisnet:4162 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4161 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4160 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4165 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4164 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4155 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4154 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4153 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4159 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4157 router.geisnet.dynd:www TIME_WAIT
tcp 0 0 geisbutler.geisnet:4156 router.geisnet.dynd:www TIME_WAIT
moritz@Geisbutler:~$
Ich hab mich schon schier tot-gegoogelt, aber einfach nichts passendes gefunden, überall scheint das Limit zu funktionieren...
Hat irgendwer eine Idee?
Vielen Dank,
MrToiz
