-
NodeJs에서 Parse Error: HPE_HEADER_OVERFLOW 발생NodeJS 2019. 7. 12. 00:29728x90
NodeJs에서 Parse Error: HPE_HEADER_OVERFLOW 발생
x-ray(node moudle)를 이용해서 크롤링을 개발하고 있던 중, 다음과 같은 오류를 만나게 되었다.
(node:63533) UnhandledPromiseRejectionWarning: Error: Parse Error at Socket.socketOnData (_http_client.js:442:20) at Socket.emit (events.js:189:13) at addChunk (_stream_readable.js:284:12) at readableAddChunk (_stream_readable.js:265:11) at Socket.Readable.push (_stream_readable.js:220:10) at TCP.onStreamRead (internal/stream_base_commons.js:94:17) bytesParsed: 6545, code: 'HPE_HEADER_OVERFLOW',
이 오류는 3개의 사이트중 1개의 사이트에서만 발생하였다.
원인을 파악하기 위해 검색을 하다 다음과 같은 내용을 확인하였다.
Node.js의 http 80KB의 Header 크기 제한을 가지고 있고 만약 큰 Header 크기가 필요 하다면, 명령을 실행시 특정 argument를 추가 해야 한다.
해결책은 다음과 같다!
실행하는 node 명령와 함께 --max-http-header-size=크기 argument를 추가 해라
예제)
$> node --max-http-header-size=81000 app.js
에러가 안날때 까지 최대 http header 크기를 키우면 된다.
근데... 이건 에러나는 사이트가 문제 아닌가? 80KB를 넘는 헤더를 왜 넘기지??참고자료
728x90'NodeJS' 카테고리의 다른 글
express에서 File Upload 구현 하기 (0) 2019.07.14 Google Docs Sheets 연동 하기 (0) 2019.07.13 nodejs package.json의 모듈 업데이트 하기 (0) 2019.07.10 nodejs port forwarding 처리 (0) 2019.07.09 puppeteer에서 POST로 요청 날리기 (0) 2019.07.07