React-Redux アプリで 431 リクエスト ヘッダー フィールドが大きすぎる問題を修正する方法 質問する

React-Redux アプリで 431 リクエスト ヘッダー フィールドが大きすぎる問題を修正する方法 質問する

私は、Redux を使用した YouTube の MERN サインアップ/ログイン認証チュートリアルに取り組んでいます。Postman でテスト ユーザーをサーバーに POST しようとすると、431 ヘッダー要求が大きすぎるというエラー応答が表示されます。

ブラウザのキャッシュ/履歴をクリアすると効果があるとどこかで読んだので、それを試してみましたが、効果はありませんでした。また、ヘッダー リクエストに「Clear-Site-Data」:「*」エントリを追加しました (「Content-Type」:「application/json」に加えて) が、これも機能しませんでした。

サインアップ用のクライアント側コード

  onSubmit = e => {
    e.preventDefault();
    const { name, email, password } = this.state;

    const newUser = {
      name,
      email,
      password
    };

    this.props.register(newUser);
  };

//redux actions
export const register = ({ name, email, password }) => dispatch => {

  const config = {
    headers: {
      "Content-Type": "application/json",
      "Clear-Site-Data": "*"
    }
  };

  // Request body
  const body = JSON.stringify({ name, email, password });

  axios
    .post('/api/users', body, config)
    .then(res =>
      dispatch({
        type: REGISTER_SUCCESS,
        payload: res.data
      })
    )
    .catch(err => {
      dispatch(
        returnErrors(err.response.data, err.response.status, 'REGISTER_FAIL')
      );
      dispatch({
        type: REGISTER_FAIL
      });
    });
};

ユーザー サインアップでは、接続された Mongo db に名前、メール アドレス、パスワードが送信されるはずですが、停止し、redux が作成した REGISTER_FAIL タイプにヒットして 431 エラーを返します。どなたか助けていただければ幸いです。ありがとうございます!

ベストアンサー1

私は Angular アプリケーションで同じ問題に直面しました。多くの時間を費やした後、問題は Node.js に関連していることがわかりました。

私たちは Node.js を使用していましたv12.x.xが、このバージョンではが からmax-http-header-sizeに削減されました。そして、私が持っていた認証トークンは約 でした。そのため、アプリをリロードすると、ブラウザが一部のファイルに対してエラーを表示し始めます。8KB80KB10KB431 request header fields too large

Node.js を に更新したところv14.x.x、 のが に増加したためv14.0.0、再び動作するようになりました。max-http-header-size16KB

役に立つことを願っています。

おすすめ記事