[해결됨] err_http2_protocol_error

ItsMyCode |

err_http2_protocol_error는 Ng를 사용하면서 여러 가지 이유로 발생하는데 크롬, 파이어폭스 등 브라우저에서 갑자기 나타나는 가장 짜증나는 오류 중 하나입니다. react를 사용하여 코드에서 HTTP 호출을 할 때 발생할 수 있습니다. .net, node.js 등

솔루션 err_http2_protocol_error



일반적인 사용 사례와 각 사용 사례에 대한 솔루션을 살펴보겠습니다.

시나리오 1: 디스크 공간 부족



웹 서버가 매우 적은 디스크 공간에서 실행되는 경우 HTTP 호출을 수행하는 동안 err_http2_protocol_error가 발생합니다. 디스크에 남은 공간이 없기 때문에 때때로 오류가 기록되지 않습니다.

Nginx, Apache 웹 서버와 같은 웹 서버는 모든 응답을 보낼 수 없으며 일반적으로 첫 번째 청크가 전송된 후 요청을 삭제합니다. 이로 인해 콘텐츠 길이 헤더가 수신된 실제 콘텐츠와 일치하지 않아 err_http2_protocol_error가 됩니다.

해결 방법: 웹 서버의 디스크 공간을 확인하고 여유 공간을 확보한 후 문제가 해결되는지 확인하십시오.

시나리오 2: Gzip 이중 압축



Nginx 서버에서 Node.JS를 실행하는 경우 CSS, js 등과 같은 파일이 이중으로 압축되어 err_http2_protocol_error가 발생할 가능성이 높습니다.

정적 파일에 대한 첫 번째 압축은 Node.JS 서버에서 발생하고 Ngxinx도 Gzip 변환을 수행합니다.

솔루션 : 아래와 같이 Nginx 구성에서 gzip 압축을 끕니다. gzip 압축이 서버 측에서 한 번만 발생하는지 항상 확인하십시오.

 server {
  ...
  ...
  gzip off;
  proxy_max_temp_file_size 0;
  location / {
    proxy_pass http://127.0.0.1:3000/;
  ....


또한 헤더 크기 문제로 인해 발생할 수 있습니다. 문제를 해결하려면 http2_max_field_size 및 http2_max_header_size 값을 늘리십시오.

http2_max_field_size 64k;
http2_max_header_size 512k;


시나리오 3: 리소스 로드 실패: VS 2019 16.10.0(및 16.10.1)으로 업그레이드한 후 net::ERR_HTTP2_PROTOCOL_ERROR



Windows 업데이트 후 ASP.Net 3.1 + React JS 앱을 실행 중인 경우 이 문제가 발생할 수 있습니다.

Microsoft Windows의 공식 버그이며 Microsoft에서 확인했습니다officially.

솔루션 : 최신 Windows 패치인 *KB5003637 *을 제거하면 문제가 해결되거나 최신 버전의 Windows 패치로 업그레이드할 수 있습니다.

게시물 [Solved] err_http2_protocol_errorItsMyCode에 처음 나타났습니다.

좋은 웹페이지 즐겨찾기