Bekijk Volledige Versie : Corrupte PDF's (via Samba en Apache)
Ik heb de vreemde situatie dat PDF's corrupt raken als ze gedownload worden vanaf een Apache 2.2 website via een Samba gemounte share (CentOS 4 en 5).
Heeft iemand enig idee waar ik het probleem moet gaan zoeken?
Wat ik al geprobeerd heb:
- De PDF's zijn via FTP over dezelfde mount gewoon correct te downloaden.
- Als de PDF's zonder share gedownload worden gaat alles goed.
- Compressie in Apache uit/aan zetten maakt niets uit.
- Er ontstaat geen errorcode.
Ik heb dus het vermoeden dat de combinatie Samba/Apache het probleem veroorzaakt. Een zoektocht op internet naar de oplossing geeft veel informatie hoe je pdf's kan maken (al dan niet in combinatie met apache). Een vergelijkbaar probleem ben ik nog niet tegen gekomen.
Triloxigen
16/10/07, 21:42
Wat doet hij dan wel of niet?
Krijg je een wit scherm?
wilde gok... ascii vs binary transfer? geen idee hoe dat icm samba werkt.
http://lists.samba.org/archive/samba/2004-July/089454.html
Kijk evt. ook eens of de PDF-extensie niet gekoppeld is aan een of ander serverprogramma? En daardoor wordt misvormd...
Wat doet hij dan wel of niet?
Krijg je een wit scherm?
Zoals ik schreef heb ik al wat dingen geprobeerd. Het PDF werkt gewoon als hij niet via een samba-share opgehaald wordt. De PDF werkt gewoon als hij via FTP via de Samba share opgehaald wordt.
Downloaden via de Samba share en Apache resulteert in een corrupte PDF en geeft inderdaad in Acrobat een wit scherm.
wilde gok... ascii vs binary transfer?
Ik ga hier eens naar kijken. Dit zou ook wel eens een het probleem bij Apache neer kunnen leggen. Als ik immers via FTP (via de Samba share) download dan doet hij dat als binary.
Ik ga dus even puzzelen of Apache dit misschien als Ascii doet.
Kijk evt. ook eens of de PDF-extensie niet gekoppeld is aan een of ander serverprogramma?
Wat bedoel je hiermee?
In principe wordt er op de server niets gedaan met de PDF's. Ze staan op de disk en moeten via een website gedownload kunnen worden.
Heb je al eens een packetsniffer tussen je HTTP gezet om te kijken of de verzoeken wel goed gaan?
Zit er veel verschil in grootte in de gedownloade PDF? Heb je er al eens een MD5sum op los gelaten?
Ik begin er nu achter te komen dat Samba waarschijnlijk struikelt over de PDF-documenten. Ik ben nog bezig, maar ik zal de resultaten tot nu toe even opsommen;
Downloaden via FTP (van een samba share) gaat goed zolang het in binary mode gebeurt. Bij een ascii ontstaat er een "incomplete transfer".
Alle binary downloads via ftp (van een samba share) resulteren in een voor Acrobat onleesbaar bestand.
Een dos2unix op het pdf en daarna een binary download (ftp, samba share) resulteert uiteraard in dezelfde foutmelding, maar Acrobat krijgt het voor elkaar om het bestand (automatisch) te repareren.
Unix2dos doet verder niets goeds.
Ik vermoed dus dat Apache het pdf-document als ascii van de samba-share probeert te halen. Dat mislukt en daardoor raakt het bestand corrupt.
Maar ik ben er nog niet achter waarom en hoe Apache dit voor elkaar krijg. Als ik namelijk gewoon via de shell het bestand kopieer (vanaf de samba share) en dan download gaat alles goed. Ik zit dus min of meer weer vast.
ascii versus binary is sowieso achterhaald en niet echt meer nuttig anno nu
Ik heb er nu een NFS-share van gemaakt en die lost het probleem op.
Er is dus iets mis met (de combinatie van) Apache/Samba.