ローカルで正常に動作するアプリを持っていますが、本番環境ではbarfsです。 (古典的な問題ですよね?)
実稼働環境では、JSは正しく起動していません。ブラウザコンソールを開くと、次のエラーが表示されます。
net::ERR_CONTENT_LENGTH_MISMATCH
開発者ツールの[ネットワーク]タブを見ると、text/htmlのGETリクエストで失敗したことが示されています。
不可解なエラーです。私は他に2つだけを見つけましたSO言及さえあり、それらは未解決です。(興味のある方へ: first post および 2番目のポスト )
(1)それが何を意味するか、または(2)それを解決する方法はありますか?
エラーが発生しています:net :: ERR_CONTENT_LENGTH_MISMATCH
実際の問題が何であるかを判断するには、サーバーのログを見てください。
私にとって、問題はnginxとファイルパーミッションの間のどこかにありました:
tail -f /usr/local/var/log/nginx/error.log
またはnginx -t
を実行して、カスタムログパスを指定できるconfの場所を特定します。http://localhost:3000/assets/jquery/jquery.js
ログに次のようなものが表示される場合があります。
ファイルxyzのアップストリームの読み取り中に「/ usr/local/var/run/nginx/proxy_temp/9/04/0000000049」が失敗しました(13:許可が拒否されました)
修正方法は次のとおりです。
Sudo nginx -s stop
Sudo rm -rf /usr/local/var/run/nginx/*
Sudo nginx
このバグレポート によると、外部リソースの長さが応答で指定されたContent-Lengthヘッダーと一致しない場合、このエラーが発生します。
これは、サーバーの構成が間違っているために発生する可能性があります。または(ストレッチとして)一部のBOM文字がファイルに挿入されるか、異なる行末(DOSマシンで作成してUNIXマシンに展開する)が問題を引き起こす可能性があります。
お役に立てれば。
同様の問題がありました[crit] 6889#0:* 14817 open() "/ var/cache/nginx/proxy_temp/3/02/0000000023"が失敗しました(13:許可が拒否されました)
これは、Nginxワーカープロセスが/ var/cache/nginx/proxy_temp /フォルダーにアクセスできなかったためです-フォルダーのアクセス許可を変更しただけで、すべてが機能し始めました
JSONの結果を解釈しようとすると、同様の問題が発生しました。行のどこかで奇妙なキャラクターがデータベースに登場しました。この例では、犯人は「?」でした。この値がデータベースにどのように到着したかは明らかではありませんが、おそらく HTMLエンコードの問題-"nbsp;"の代わりに "Â"文字が表示される に関係しています。問題は解決しました。