Nginx proxy_pass応答が切り捨てられました


9

nginxを使用して、httpsリクエストを私のアプリケーションサーバー(現在8443で実行中)にプロキシします。
このアプリサーバーは動的ページを提供し、それらのいくつかはjqueryを縮小したものを含みます。
jqueryが切り捨てられているように見えるため、ページにエラーがあります...ファイルサイズの制限などはありますか?

私のnginx confは次のとおりです:

server {
listen      443;
server_name my_serv.com;
ssl                 on;
ssl_certificate     certificate.pem;
ssl_certificate_key privatekey.pem;

keepalive_timeout 70;

location / {
  proxy_pass https://localhost:8443;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_buffering off;
  proxy_buffers 8 8k;
}
}

2
エラーログを確認してください。接続が早く閉じられた理由が表示されます。
kolbyjack 2009

nginxにjquery.jsのような静的ファイルを提供させてみませんか?
VBart

回答:


8

この質問は非常に古いものですが、同じ問題に遭遇しました。nginxを実行しているユーザーに、proxy_tempディレクトリへの書き込み権限があることを確認してください。すべてがproxy_buffersに保持できないプロキシサーバーを介してより大きな応答を提供する場合、残りの応答データは、proxy_tempディレクトリのディスクに書き込まれます。不十分な特権(または何か他のもの、つまりディスク領域)のためにそれができない場合、応答は切り捨てられます。

簡単な方法は、これはブラウザのキャッシュをクリアし、Chromeデベロッパーツールを開いてページを再読み込みすることです。ネットワークタブで切り詰められたファイルを見つけ、サイズがプロキシバッファサイズ(この場合は64k)と一致する場合、nginxはディスクへの書き込みに問題がある可能性があります。

nginx proxy_temp_pathの詳細:http ://wiki.nginx.org/HttpProxyModule#proxy_temp_path


1
あなたの答えは私に同じような問題を解決するように促しました
Tyler Long

0

アクセスログに、切り捨てられたファイルの戻りコード304(変更されていない)が表示される場合は、ブラウザーのキャッシュをクリアしてみてください。残念ながら、nginx設定からこれを「修正」する方法を見つけることができませんでした。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.