[TYPO3-german] naw_securedl download bricht ab
Stephan Schuler
Stephan.Schuler at netlogix.de
Wed Aug 7 17:43:12 CEST 2013
Hallo Steffi.
Ich habe einen Vorschlag, der sich allerdings meines Wissens nicht mit den bisherigen Mitteln von naw_securedownload umsetzen lässt. Du müsstest dafür also einen Patch schreiben und eine Konfigurationsoption integrieren.
Da sich da aber gewaltig auf den notwendigen Ressourcenbedarf auswirkt, ist der Patch auf jeden Fall sinnvoll.
Naw_securedownload verwendet "readfile". Die Datei wird also durch den PHP-Prozess transportiert und unmittelbar in den Apache-Output-Buffer geschrieben.
Insbesondere hält dieses Vorgehen den PHP-Prozess (quasi am Ende der letzten Zeile der PHP-Datei) so lange fest und am Leben, bis der Besucher der Webseite die Datei vollständig heruntergeladen hat. Technisch: Der PHP-Prozess bleibt solange offen, wie der Browser den Output-Buffer des Apache noch nicht vollständig übertragen bekommen hat oder die Übertragung vorzeitig beendet wurde.
Das war bei uns zwar kein Problem seitens der CPU oder des Arbeitsspeichers. Unsere PHP-Prozess auf den Webservern sind allerdings "abgezählt", um zu vermeiden, dass zu viele PHP-Prozesse mehr als den gesamt verfügbaren Arbeitsspeicher nutzen. Und wenn nun 100 Leute ein 1GB-File runterladen, dank der DSL-Leitung an der sie sitzen jeweils mehrere Minuten dazu brauchen und das dann alle 100 PHP-Prozesse in Beschlag nimmt, können weitre Besucher leider nicht mehr klicken, da sie keine PHP-Prozesse mehr abbekommen. Und das, obwohl sich sowohl RAM als auch CPU auf dem Server eher langweilen.
Die Idee ist das Apache-Modul "X-Sendfile".
Hierbei wird lediglich der Header "X-Sendfile: /var/www/default/fileadmin/file.zip" von PHP-Prozess an den Apache übergeben, auf readfile wird vollständig verzichtet.
Der PHP-Prozess wird dann regulär beendet.
Anschließend läuft der Apache-Prozess noch nach und transportiert die angegebene Datei zum Client.
Dieses Vorgehen hat bei uns deutlich geholfen.
Solltest du entsprechenden Zugriff auf deinen Webserver haben, würde ich dir empfehlen, X-Sendfile zu installieren.
Das allerdings ist auch der Grund, weshalb das auf keinen Fall Standardverhalten von naw_securedownload werden kann: Weil es voraussetzt, dass der Webserverbetreiber X-Sendfile installieren kann.
Grüße,
Stephan Schuler
Web-Entwickler
Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Website: media.netlogix.de
--
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: info at netlogix.de | Internet: http://www.netlogix.de
netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt
-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von katsching
Gesendet: Mittwoch, 7. August 2013 09:29
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] naw_securedl download bricht ab
Hi,
ich bin Neuling im TYPO3 Umfeld und stoße gerade an meine Grenzen.
Auf unserer Seite haben wir einen Downloadbereich eingerichtet, den wir mit naw_securedl gegen direkten Zugriff sichern. Bisherige Downloadgrößen von 92MB waren von der Extention zu verkraften. Nachdem das File auf 104 MB gewachsen ist haben wir nun Probleme. Der Download bricht nach ca. 40 MB ab. Nehme ich das Verzeichnis aus der Liste der zu sichernden Verzeichnisse raus, funktioniert der Download wie gewünscht - das kann aber nicht die Lösung sein, da die Verschlüsselung wichtig für uns ist.
Kann mir jemand sagen was hier zu tun ist? Ich habe das Forum und google bereits durchforstet und bin bisher nur auf die Umstellung der outputFunction von readfile auf readfile_chunked gekommen, das bringt mir aber keine Besserung.
Danke für Antworten
Steffi
TYPO3 4.5.25
PHP memory_limit = 128MB
naw_securedl 1.5.1
log ausgeschaltet
outputFunction = readfile_chunked
outputChunkSize = unverändert
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list