[에러] request header fields too large 에러

쏘소·2022년 3월 6일
0

React

목록 보기
6/13
post-custom-banner

사이트 프로젝트 중에 배경화면 이미지를 변경하려고 했더니 다음과 같은 431 오류를 뱉어냈다.

GET http://localhost:3000/searchbg.jpg 431 (Request Header Fields Too Large)

왜 이런 문제가 생긴고 하니 HTTP 431 Request Header Fields Too Large 응답 상태 코드는 요청의 HTTP 헤더가 너무 길어 서버가 요청 처리를 거부해서 그랬다고 한다.

그러면 HTTP 헤더의 길이를 줄여야 하는데 어떻게 줄이지? 했더니 stackoverflow 답변 에서 그 해답을 찾을 수 있었다.

결국엔 nodeJS v12는 max-http-header-size가 기존의 80KB에서 8KB로 줄었다는 문제였다. 그래서 nodeJS 버전을 max-http-header-size가 16KB인 v14로 업그레이드 시켜주면 된다.

아니 근데 나의 nodeJS 버전을 확인해 보니 v16.13.1이었고,
nodeJS는 v14이상 부터는 max-http-header-size를 16KB 제공해준다고 하여 버전 업그레이드는 이 상황의 해법이 되지 않았다.

보통은 또 package.jon의 scritps에 다음과 같이 추가하여 max-http-hheader-size를 늘려주면 해결이 된다고 한다.

"start": "react-scripts --max-http-header-size=1024 start",

하지만 나의 경우엔 마찬가지로 해결이 되지 않았다. 결국 마지막에 찾은 에러는 build 과정에서 생긴 오류였는데 이 부분은 위의 431에러와는 아무 상관도 없는 문제였기 때문에 다른 포스트에서 다뤄보고자 한다.

profile
개발하면서 행복하기
post-custom-banner

0개의 댓글