Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache 2 & Download begrenzen?
Hi,
ich habe mehrere Webserver die verschiedene Dateien (pdf, doc, etc) anbieten. Manche von den Dateien sind recht groß. Deshalb möchte ich festlegen mit welcher Downloadrate diese max. gezogen werden dürfen. Ansonsten wird die komplette Bandbreite für diese eine Datei verwendet und andere User müssen ewig warten. Leider habe ich auf apache.org nichts gefunden. Ist sowas überhaupt mit dem apache 2 möglich?
Grüßle
oafish
bluedragon_ital
02.01.06, 15:12
Hallo,
bin zwar erst neu hier, aber ich denke ich kann dir helfen..
Eine Speedlimitbegrenzung in apache selbst habe ich zwar auch nicht gefunden, ich habe mir aber ein php-script für solche downloads geschrieben:
<?php
/*
Script um den Downloadspeed einer Datei zu reduzieren
$file = datei welche gedownloadet werden soll
$speed = geschw. in kb/s
Bsp: $speed = 8.5; // 8,5 kb/s download rate limit
Bsp: $file = "downloads/dieGroßeDatei.pdf" // diese datei wird mit dem angegebenen Speed runtergeladen
*/
function download_speed($file,$speed){
if(file_exists($file) && is_file($file)) {
header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: filename=$file" . "%20");
flush();
$fd = fopen($file, "r");
while(!feof($fd)) {
echo fread($fd, round($speed*1024));
flush();
sleep(1);
}
fclose ($fd);
}
?>
funktioniert wunderbar...
vill. machst du dir eine download.php die die Datei welche runtergeladen werden soll als Parameter erhält und dann diese Funktion aufruft...
Grüße aus Italien
bluedragon
Roger Wilco
02.01.06, 20:48
Ist sowas überhaupt mit dem apache 2 möglich?
Ja, du suchst mod_bw (http://www.ivn.cl/apache/).
wenn ich den mod in die httpd einbinde und mein apache restarte, denn crasht er und ich kann ihn auch nich starten... kann bei der compilierung auch kein fehler entdecken, was könnte das sein?
schmidtl_dd
11.01.06, 22:23
wie crashet er? (fehlermeldung? logs?)
httpd: Syntax error on line 501 of /opt/lampp/etc/httpd.conf: Cannot load /usr/lib/apache2/modules/bw_mod-0.6.so into server: /usr/lib/apache2/modules/bw_mod-0.6.so: undefined symbol: apr_atomic_add
noch nen fehler nebenbei, system zeigt mir immer
hub 3-0:1.0: over-current change on port 1
an....
Roger Wilco
12.01.06, 14:40
httpd: Syntax error on line 501 of /opt/lampp/etc/httpd.conf: Cannot load /usr/lib/apache2/modules/bw_mod-0.6.so into server: /usr/lib/apache2/modules/bw_mod-0.6.so: undefined symbol: apr_atomic_add
Stimmt die APXS/APR-Version mit deiner installierten Apache-Version überein? Sieht nicht so aus.
noch nen fehler nebenbei, system zeigt mir immer
hub 3-0:1.0: over-current change on port 1
an....
Zuviel Spannung auf einem deiner USB-Ports.
libapr0 hab ich auf 2.0.54-5 und apache version von xampp is 2.2 ...
am USB port hängt nichts drane, gibt es nen trick und das zu beheben?
Roger Wilco
12.01.06, 14:51
libapr0 hab ich auf 2.0.54-5 und apache version von xampp is 2.2 ...
Da haben wir doch das Problem...:rolleyes:
am USB port hängt nichts drane, gibt es nen trick und das zu beheben?
Hm, schonmal dagegen getreten? :D
Sorry, keine Ahnung, vielleicht hab ich mich bei der Meldung auch vertan ;)
Aber du machst dazu besser einen neuen Thread im richtigen Unterforum auf.
hmm da es ja noch keine arp 2.2 gibt soll ich denn apache 2.0 drauf machen?
so apache läuft nu auf 2.0.5.5 aber er sagt jetzt "undefined symbol: apr_atomic_init"
Hallo zusammen. Ich habe beim Kompilieren des Moduls Probleme.
Ich verwende den Apache2 auf Debian 3.1. Wenn ich das Modul mit apxs kompilieren möchte, kommt "apxs:Break: Command failed with rc=1" als Fehlermeldung.
Bin für jeden Rat dankbar.
Danke und Gruß aus Köln
Installiere das Paket apache2-prefork-dev und benutze /usr/bin/apxs2 anstatt /usr/bin/apxs.
Danke für die prompte Hilfe. Die Kompilierung schien erfolgreich verlaufen zu sein und werde das jetzt mal ausprobieren ob es auch in der tatsächlichen Umsetzung klappt.
Darf ich fragen, was dieses Paket jetzt bewirkt hat? Es ist zwar schön das mein Problem jetzt behoben ist, aber ich würde doch gerne verstehen, _was_ bzw. _wieso_ ich da soeben gemacht habe.
mfg
Das ist eben das Entwicklerpaket für Apache2.
muss ich das neue modul auch mit a2enmod dann aktivieren? a2enmod bw klappt z.b. nicht.
Je nachdem wohin du das neue Modul installiert hast, kannst du das Modul manuell einbinden.
Ja, habe das jetzt gerade manuell eingebunden. Es gab zwar einen Eintrag in der httpd.conf, aber ich habe es trotzdem in eine eigene Datei reingeschrieben und mit a2enmod aktiviert.
lesen bildet und man sollte es immer wieder machen :-)
Mal gucken ob es jetzt funktioniert.
Also das Einbinden scheint erfolgreich zu sein. Leider wirkt sich der Eintrag nicht auf das Modul aus. Würde mich über Hilfe freuen. Aus diesem Grund habe ich unten einen Ausschnitt aus meiner Konfigurationsdatei eingefügt.
Dabei handelt es sich um einen WebDAV-Server der an einer 4MBit Leitung hängt. Ich möchte dem Apachen sagen, das er dafür allerhöchstens 1 MBit benutzen darf, und das die restl. 3Mbit für andere Zwecke verbraten werden können.
<VirtualHost *:443>
ServerName WebDAV
ServerAlias 123.456.789.1
SSLEngine On
SSLCertificateFile /etc/ssl/certs/host-cert.pem
SSLCertificatekeyfile /etc/ssl/private/host-privkey.pem
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
DavLockDB /srv/webdav/davlock/davlock
BandwidthModule On
ForceBandWidthModule On
Bandwidth localhost 1024
MinBandwidth localhost 1024
</VirtualHost>
Leider lade ich die Dateien immer noch mit meinem MaxUpload da hoch :( Hat jemand eine Idee wie ich das Problem lösen könnte?
Der rote Teil bezieht sich jetzt auf die BW-Modul Geschichte. Ich habe bewusst kleine Werte genommen, damit ich auch wirklich sicher sein kann, dass es funktioniert.
es gibt das modul mod_limitipcon und mod_bw (hatte ja schon jemand geschrieben ) für Apache2, ich kenn nur limitipcon und damit kann man jeden Host seine Bandbreite zuweisen oder eingrenzen, der Entwickler hat auch eine Seite im Netz.
mod_cband gibts noch für Bandbreitenbegrenzung
Danke, ich werde mir die Module mal zu gemüte führen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.