1. ホーム
  2. ハイパーリンク

net::ERR_CONTENT_LENGTH_MISMATCH の問題を解決する

2022-02-27 09:17:31
<パス

問題の説明

フロントエンドページで css や js ファイルを読み込む際、しばしば ERR_CONTENT_LENGTH_MISMATCH エラーが報告されます。

問題を見つける

を開いた後、別の hearder のcssで、jsのWebアドレスを開くことができるので、最も単純なアドレスエラーは除外されます。フロントエンドのプロジェクトは、以下の構成になっています。 nginx プロキシを使用しているため、nginxのログを確認することで何か手がかりが見つかるかもしれません。

に移動します。 ${NGINX_HOME}\logs をご覧ください。 error.log と表示され、次のようなメッセージが表示されます。

2018/07/13 14:22:49 [crit] 275197#0: *1543 open() "/usr/local/nginx/proxy_temp/4/30/0000000304" failed (13: Permission denied) while reading upstream, client: 192.168.75.11, server: xxxx.xxxx.com, request: "GET /model-web/static/js/vendor.7e49e6e8578e1e242c55. js.map HTTP/1.1", upstream: "http://xxx.xxx.xxx:8080/model-web/static/js/vendor.7e49e6e8578e1e242c55.js", host: " xxx.xxx.xxx.xxx:8081"

ヒントは明らかで、リクエストの中にある vendor.7e49e6e8578e1e242c55.js にアクセスしようとしている。 /usr/local/nginx/proxy_temp/4/30/0000000304 というメッセージが表示され、権限がないため、リクエストに失敗します。

では、なぜ nginx は proxy_temp フォルダの中にある proxy_temp は nginx のキャッシュフォルダですが、私の css と js ファイルは大きすぎるため、nginx は通常、毎回元のアドレスに直接読みに行く代わりに、キャッシュの中に入って取得するようにしています。

解決しようとすること

に移動します。 /usr/local/nginx/proxy_temp をクリックすると、ファイルのパーミッションが表示されます。

<センター

<センター 図 (1)

ご覧の通り 4 フォルダのオーナーは svenchen .

現在のnginxのユーザーを見てみると root .

<センター

<センター 図 (2)

つまり、パーミッションがない原因は、ファイルの所有者と訪問者が同じユーザーでないことだと特定されたのです。

解決方法

  1. フォルダの所有者を変更し、フォルダとフォルダ下の全ファイルの所有者を現在の nginx ユーザーに変更します。 chown -R root.root./* .
  2. 他のユーザーに読み取り権限を追加するためのパーミッションの追加。
  3. nginx 設定ファイルを修正して、ユーザを宣言します。 (推奨) .

<センター

<センター フィギュア(3)

この宣言の後、保存されたキャッシュファイルのユーザはrootになります。
nginxを再起動すると . /nginx -s reload と表示され、問題が解決します。

終了

元記事へのリンク: https://blog.csdn.net/mr_ooo/article/details/81068369

注目の記事
MyBatis Spring-bootベースのUniversal Mapperとpagehelperのページングプラグインの統合
Spring bootベースのRedisキャッシュモールカテゴリ、商品情報