ブラウザエラー net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) 解決策
I. 問題の発見
開発中、フロントエンドページに css や js、woff、ttf ファイルを読み込むと、しばしば次のように表示されることがあります。
ERR_CONTENT_LENGTH_MISMATCH
の場合、エラーが報告される。 しかし、jsやcssのエラーはすべて報告されるわけではなく、報告されるファイルは、報告されないファイルよりも大きい。また、エラーファイルはブラウザだけで開くことができるので、最も単純なアドレスエラーは除外されます。フロントエンドのプロジェクトはnginxでプロキシされているので、nginxのログを確認することで何か手がかりが見つかるかもしれません。
II. 問題を解決する
nginxのエラーログファイルを探す
1. nginxの設定ファイルを探す
ps -ef | grep nginx
結果は次のようになります。
www 16951 18739 0 16:15 ? 00:00:00 nginx: worker process
www 16952 18739 0 16:15 ? 00:00:00 nginx: worker process
nginx: worker process www 16953 18739 0 16:15 ? 00:00:00 nginx: worker process
nginx: worker process www 16954 18739 0 16:15 ? 00:00:00 nginx: worker process
nginx: worker process www 16955 18739 0 16:15 ? 00:00:00 nginx: worker process
nginx: worker process www 16956 18739 0 16:15 ? 00:00:00 nginx: worker process
nginx: worker process www 16957 18739 0 16:15 ? 00:00:00 nginx: worker process
nginx: worker process www 16958 18739 0 16:15 ? 00:00:00 nginx: worker process
root 18739 1 0 Sep20 ? 00:00:26 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
私の開発環境のnginxの設定ファイルのパスは。/usr/local/nginx/conf/nginx.conf です。
2. エラーログファイルの場所を表示する
cat /usr/local/nginx/conf/nginx.conf
<イグ
私の開発環境の nginx のエラーログパスは cnk_data/nginx_logs/error.log です。
3. エラーログを開く
エラーの発生したファイルでフィルタリングします(ファイルが大きすぎる場合は、しばらくお待ちください)。
cat /cnk_data/nginx_logs/error.log | grep "jquery.dataTables.min.js"
結果は次のようになります。
2019/10/16 16:11:37 [crit] 5878#0: *81035 mkdir() "/usr/local/openresty/nginx/proxy_temp/2/35" failed (13: Permission denied) while reading upstream, client: 123.116.114.84, server: sunct.goapi.youlai.cn, request: "GET /static/js/adminone/jquery.dataTables.min.js HTTP/1.1", upstream: "http://127.0.0.1:9092/static/js/adminone/jquery.dataTables.min.js", host: "sunct.goapi. youlai.cn", referrer: "http://sunct.goapi.youlai.cn/admin/index"
mkdir() Permission denied エラーの一つです。
2019/10/16 16:11:36 [crit] 5881#0: *80999 mkdir() " /usr/local/openresty/nginx/proxy_temp/1/35 " failed (13: Permission denied) while reading upstream, client: 123.116.114.84, server: sunct.goapi.youlai.cn, request: "GET /static/ js/adminone/jquery.dataTables.min.js HTTP/1.XXX.XXX.XXX.XXX.XXX.XXX.XXX. 1", upstream: "http://127.0.0.1:9092/static/js/adminone/jquery.dataTables.min. js", host: "sunct.goapi.youlai.cn", referrer: "http://sunct.goapi.youlai.cn/admin/index".Js", request: "GET /static/ js/adminone/jquery.dataTables.min.js HTTP/1;
この時点で、mkdir()の成功がなく、結果的にリクエストが失敗し、パーミッションがないため拒否されたことがわかります。
では、なぜ nginx は
proxy_temp
フォルダーに格納されます。なぜなら
proxy_temp
は nginx のキャッシュフォルダですが、私の css と js ファイルは大きすぎるため、nginx は通常、毎回元のアドレスに直接読みに行く代わりに、キャッシュ内から取得しに行くのです。
4. 解決してみる
エラーレポートへのパス、私のは /usr/local/openresty/nginx/。 をクリックすると、そのフォルダが表示されます。 プロキシ温度 のパーミッションが必要です。
cd /usr/local/openresty/nginx
ll
結果は以下のようになります(注。 これは、変更されたパーミッション )
状況によっては、proxy_tempフォルダのパーミッションとグループを変更すればよいでしょう。
chown www root proxy_temp
chmod -Rf 777 proxy_temp
5. nginxサービスを再起動する
nginx サービスの設定にしたがって、nginx サービスを再起動するだけです。 コマンドは以下のような感じでしょうか。
. /nginx -s reload
使っています。
/etc/init.d/nginx reload
6. ブラウザを更新する
完璧です!すべてうまくいきました。
この記事があなたの学習に役立てば幸いです。お読みいただきありがとうございました。
この記事に関連することがあれば、私に連絡することができます(連絡先はトップ記事にあります :) 私の連絡先を見る )にお問い合わせください。
関連
-
[解決済み】Docker Nginxが停止しました。[emerg] 1#1: ホストがアップストリームで見つかりません。
-
[解決済み] nginxのエラー "conflicting server name "を無視する [終了しました]。
-
[解決済み] Certbot /.well-known/acme-challenge
-
[解決済み] nginxリクエストで許容されるurlの長さを設定する方法 (エラーコード: 414, uri too large)
-
[解決済み] NGINXを設定して、サブルートで場所(同じサーバー名の下)に応じて異なるシングルページアプリケーション(SPA...すなわち静的ファイル)をデプロイする方法
-
Gitはいくつかのバグフィックスを行いました。マージされていないファイルがあるため、Pullができない。
-
Nginxエージェントのリソース: net::ERR_NAME_NOT_RESOLVED の読み込みに失敗しました。
-
linux システムでの Nginx のインストール: make: *** `install' をターゲットとするルールがありません。停止します。
-
Nginx] エラー413 Request Entity Too Largeの解決方法
-
nginxの問題解決:上流からの応答ヘッダーの読み込み中に上流が接続を早々に切断した
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Raspberry Piサーバーに対して小規模なDDoS攻撃を実行する【終了しました
-
[解決済み] どのヘッダテストツールでもnginxが400 bad request headersを投げるのを修正する方法は?
-
[解決済み] Nginx 無効なPID番号
-
[解決済み] バックグラウンドでリクエストするようにnginxを設定する
-
nginx スタートアップ・エラー。nginx.serviceのジョブは、制御プロセスがエラーコードで終了したため失敗しました。
-
OSError: [Errno 98] アドレスはすでに使用中です。
-
NginxのRequest Entity Too Largeの解決法
-
アップストリームエラーの読み込み中に、アップストリームが接続を早々に切断した