1

nginx フロントエンドを備えた Rails アプリがあります。ユーザーは、Windows ネットワーク共有に保存されているファイルをアップロードして、後で取得できます。アップロードされたファイルは、nginx を介して静的に提供されます。

たとえば、画像をダウンロードすると、元の画像の一部のみがダウンロードされます。ページを正常に更新すると、サーバーが「206 Partial Content」応答を返し、もう少し多くの画像がダウンロードされます。

CIFS 接続からのファイルの提供に問題があるようです - おそらく正しいファイル サイズの決定に問題がありますか? CIFS で問題が発生したのはこれが初めてではありません。

マウントの fstab エントリは次のようになります。

//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

最初のリクエストのリクエスト/レスポンス ヘッダーは次のようになります。

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

問題への洞察は大歓迎です。

ありがとう、ニック。

4

1 に答える 1

1

NFS または CIFS (おそらく他の?) マウントからのファイルの提供は、nginx の「sendfile」オプションと互換性がないようです。sendfile サポートをオフにすると、問題が解決しました。

于 2009-10-14T02:52:24.077 に答える