JasMich.de
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Hallo zusammen, ich habe einen Apache auf meinem Ubuntu installiert. Auf der Website steht ein etwa 4GB großer ISO download zur Verfügung. Wie kann ich Apache dazu bringen, auch bei ISOs dei content length mitzusenden? Ich habe schon:
| <FilesMatch "\.iso$">
SetEnv no-gzip 1
</FilesMatch>
|
Funzt nicht... Danke schon mal für Antworten!
JasMich.de
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
JasMich.de schrieb: Wie kann ich Apache dazu bringen, auch bei ISOs dei content length mitzusenden?
Das sollte er automatisch machen, sofern er die Datei selbst ausliefert.
Ich habe schon:
| <FilesMatch "\.iso$">
SetEnv no-gzip 1
</FilesMatch>
|
Funzt nicht...
Welche Apache-Version nutzt du?
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
me@pc ~ # /usr/sbin/apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Sep 21 2017 20:51:54
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
JasMich.de schrieb: me@pc ~ # /usr/sbin/apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Sep 21 2017 20:51:54
Also der Content-Length-Header ist im RFC als "SHOULD" markiert. Daher gibt es meines Wissens auch keine Möglichkeit den Content-Length-Header im Apache zu deaktivieren. Wie sehen denn die Header aus, wenn du ein ISO abrufst?
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Entschuldigung, ich habe mir gerade den header angeguckt: Content-length ist gesetzt, aber dafür steht da beim content-type text/plain .
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 30 Nov 2017 14:25:42 GMT
Content-Type: text/plain
Content-Length: 4197466112
Connection: keep-alive
Vary: Accept-Encoding
Last-Modified: Fri, 24 Nov 2017 00:20:11 GMT
ETag: "304065a-fa304000-55eaf840c24d4"
Accept-Ranges: bytes
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
JasMich.de schrieb: Entschuldigung, ich habe mir gerade den header angeguckt: Content-length ist gesetzt, aber dafür steht da beim content-type text/plain .
Was sagt denn
grep iso /etc/mime.types
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Meinst du auf dem Server oder auf den Hosts? Das Download-Problem gibt es nämlich auch auf nicht-Unix Rechnern. Z.B. Chromium und Firefox zeigen nicht an, wie groß die Datei insgesamt ist und können den Download nach dem Pausieren nicht fortsetzen.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
JasMich.de schrieb: Meinst du auf dem Server oder auf den Hosts?
Auf dem Server, also dort, wo der Apache2 auch läuft.
Das Download-Problem gibt es nämlich auch auf nicht-Unix Rechnern. Z.B. Chromium und Firefox zeigen nicht an, wie groß die Datei insgesamt ist und können den Download nach dem Pausieren nicht fortsetzen.
Also das Problem hattest du noch gar nicht erwähnt. Vielleicht wäre es besser gewesen, gleich dein Problem zu beschreiben. Ich vermute, dass es nicht am Apache liegt. Er liefert den Header Accept-Ranges mit, der anzeigt, dass dieses Feature unterstützt wird. Zum Test kannst du mal probieren, ob dein Apache korrekte partielle Antworten geben kann:
curl -i -H "Range: bytes=1024-2048" $URL
Wenn das funktioniert, sollte man auch Downloads fortsetzen können, zumindest serverseitig.
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | me@PC:~$ curl -i -H "Range: bytes=1024-2048" http://gobuntu.jasmich.de/dist/Be/Gobuntu-Beryllium-amd64.iso
HTTP/1.1 206 Partial Content
Server: nginx
Date: Fri, 01 Dec 2017 09:19:28 GMT
Content-Type: text/plain
Content-Length: 1025 ##Die Größe stimmt eindeutig nicht mit meiner ISO überein.
Connection: keep-alive
Last-Modified: Fri, 24 Nov 2017 00:20:11 GMT
ETag: "304065a-fa304000-55eaf840c24d4"
Accept-Ranges: bytes
Content-Range: bytes 1024-2048/4197466112
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
|
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
JasMich.de schrieb: me@PC:~$ curl -i -H "Range: bytes=1024-2048" http://gobuntu.jasmich.de/dist/Be/Gobuntu-Beryllium-amd64.iso
[...]
Content-Length: 1025 ##Die Größe stimmt eindeutig nicht mit meiner ISO überein.
[...]
Content-Range: bytes 1024-2048/4197466112
[...]
Passt doch, der Apache unterstuetzt das Fortsetzen von abgebrochenen Downloads und kennt auch die gesamte Dateigroesse.
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Siehe Anhang: Trotzdem zeigen Chromium und Firefox nicht an, wie groß die Datei ist. Wenn ich z.B. eine Ubuntu-ISO auf ubuntu.com downloade, wird die Größe angezeigt.
- Bilder
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
JasMich.de schrieb: | HTTP/1.1 206 Partial Content
|
Das sagt schonmal, dass der Apache die Funktionalität grundsätzlich unterstützt.
Content-Length: 1025 ##Die Größe stimmt eindeutig nicht mit meiner ISO überein.
Das ist klar, wir wollten ja auch gerade nur einen Ausschnitt der ISO-Datei herunterladen...
Content-Range: bytes 1024-2048/4197466112
... was man auch hieran gut sieht. Es wurden die Bytes 1024-2048 von 4197466112 ausgegeben. Fazit: Dein Apache unterstützt das Abrufen von Teilen einer Datei, und damit auch das Fortsetzen eines abgebrochenen Downloads.
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Und hast du dann eine Idee, warum die Webbrowser die Downloadgröße nicht anzeigen wollen??
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
JasMich.de schrieb: Und hast du dann eine Idee, warum die Webbrowser die Downloadgröße nicht anzeigen wollen??
Nicht wirklich. Navigiere mal zur Netzwerk-Konsole (F12->Netzwerk) und schau nach, ob dort die Dateigrößen für die einzelnen Elemente korrekt sind. Außerdem kannst du gucken, ob bei dem ISO-Download im Antwort-Header die korrekte Content-Length drin steht. Falls das nichts geheimes ist, kannst du mir auch mal nen Link schicken. Ich habe das Szenario bei mir gerade mal nachgestellt, konnte das Problem aber nicht nachvollziehen.
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
|