私は、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
に削減されました。そして、私が持っていた認証トークンは約 でした。そのため、アプリをリロードすると、ブラウザが一部のファイルに対してエラーを表示し始めます。8KB
80KB
10KB
431 request header fields too large
Node.js を に更新したところv14.x.x
、 のが に増加したためv14.0.0
、再び動作するようになりました。max-http-header-size
16KB
役に立つことを願っています。