2009-10-14 20 views
0

Nous avons une application Rails avec un frontal nginx. Les utilisateurs peuvent télécharger des fichiers stockés sur un partage réseau Windows et les récupérer ultérieurement. Les fichiers téléchargés sont servis statiquement via nginx.Les fichiers statiques servis à partir de CIFS Le partage de Windows via nginx/Ubuntu n'est pas entièrement envoyé au navigateur

Le téléchargement d'une image, par exemple, ne téléchargera qu'une partie de l'image originale. L'actualisation de la page permet de télécharger un peu plus de l'image lorsque le serveur renvoie des réponses "206 Contenu partiel".

Il semble y avoir un problème avec les fichiers de service de la connexion CIFS - peut-être dans la détermination de la taille de fichier correcte? Ce n'est certainement pas la première fois que nous avons des problèmes avec CIFS.

L'entrée fstab pour la montagne ressemble à ceci:

//aioi-melts1.aioi.local/Staging_Claims /mnt/staging_claims cifs noperm,rw,credentials=/etc/samba/cred-file,uid=root,gid=network,file_mode=0770,dir_mode=0770,umask=0117 0 0 

Les en-têtes demande/réponse du premier regard de la demande comme ceci:

Response Headers 
Server    nginx/0.5.34 
Date    Wed, 14 Oct 2009 01:34:11 GMT 
Content-Type  image/jpeg 
Content-Length  5274820 
Last-Modified  Wed, 14 Oct 2009 01:30:05 GMT 
Connection   keep-alive 
Accept-Ranges  bytes 

Request Headers 
Host    cx-staging 
User-Agent   Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-GB; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language  en-gb,en;q=0.5 
Accept-Encoding  gzip,deflate 
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive   300 
Connection   keep-alive 
Cookie    _cx_new_session=29409d54cb14e3d4a9f6aba085e9f447 

Toute idée sur le problème serait beaucoup apprécié.

Merci, Nick.

Répondre

1

Il semble que la diffusion de fichiers à partir d'un montage NFS ou CIFS (éventuellement d'autres?) Est incompatible avec l'option nginx "sendfile". La désactivation du support sendfile a résolu mon problème.