Chrome net :: ERR_INCOMPLETE_CHUNKED_ENCODING 오류


134

지난 2 개월 동안 Chrome 개발자 콘솔에서 다음 오류가 발생했습니다.

net::ERR_INCOMPLETE_CHUNKED_ENCODING

조짐:

  • 페이지가로드되지 않습니다.
  • 잘린 CSS 및 JS 파일.
  • 페이지가 걸려 있습니다.

서버 환경 :

  • 아파치 2.2.22
  • PHP
  • 우분투

이것은 사내 Apache 서버에서 발생합니다. 다른 사용자에게는 일어나지 않습니다. 즉, 이 문제를 경험 한 사용자가 없으며 개발자 팀의 다른 사람도 없습니다.

다른 사람들은 정확히 동일한 버전의 Chrome을 사용하여 동일한 서버에 액세스하고 있습니다. 또한 모든 확장 프로그램을 사용 중지하고 시크릿 모드에서 탐색을 시도했지만 아무런 효과가 없습니다.

Firefox를 사용했는데 정확히 같은 일이 발생합니다. 잘린 파일 및 기타 파이어 폭스는 콘솔 오류를 발생시키지 않기 때문에 파이어 버그를 통해 HTTP 요청을 검사하여 문제를 확인해야합니다.

Apache의 응답 헤더 :

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:close
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Mon, 27 Apr 2015 10:52:52 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:Apache/2.2.22 (Ubuntu)
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.10-1ubuntu3.8

테스트하는 동안 htaccess 파일에서 HTTP 1.0을 강제 실행하여 문제를 해결할 수있었습니다.

SetEnv downgrade-1.0

이것은 문제를 제거합니다. 그러나 HTTP 1.1보다 HTTP 1.0을 강제하는 것은 적절한 해결책이 아닙니다.

업데이트 :이 문제가 발생하는 유일한 사람이므로 클라이언트 측 문제인지 여부를 조사하는 데 더 많은 시간을 할애해야한다고 생각했습니다. Chrome 설정으로 이동하여 "기본값으로 복원"옵션을 사용하면 약 10-20 분 동안 문제가 사라집니다 . 그런 다음 돌아옵니다.


브레이크 트를 잊어 버렸습니다. 이것은 정확하다-> while ($ row = mysql_fetch_assoc ($ result))
JustAnotherSimpleProgrammer__

@PHPMan 제대로 복사하여 붙여 넣지 않았습니다. 지금 수정했습니다. 나는 그것이 원인이기를 바란다.
Wayne Whitty

1
또한,이 코드에 의해 생성 된 HTML을 알 필요 while($row = mysql_fetch_assoc($result))가 너무 빈 줄이 너무 많아 웹 브라우저에 의해 잘림 이 발생할 수 있습니다.
Halayem Anis

7
클라이언트가 청크 전송의 최종 길이가 0 인 청크를 수신하지 않으면이 오류가 발생합니다. 당신의 장소에서 Wireshark를 시작하고 TCP 트래픽을 캡처하여 진행 상황을 확인합니다.
aergistal

2
응용 프로그램 문제가 아닌 네트워크 문제로 인해 발생할 수 있습니다 (특히 문제가있는 유일한 사람이기 때문에). 따라서 @aergistal이 제안한 것처럼 트래픽을 모니터링하여 가능한 원인으로 네트워크 문제를 먼저 판결해야합니다.
VolenD

답변:


78

확인. 나는 이것을 세 번 테스트했으며 100 % 확신합니다. 안티 바이러스 (ESET NOD32 ANTIVIRUS 5)에 의해 발생하고 있다고 합니다.

실시간 보호를 비활성화 할 때마다 문제가 사라집니다. 오늘은 실시간 보호를 6-7 시간 동안 끈 상태로 두었지만 문제가 발생하지 않았습니다.

몇 분 전에 문제가 1 분 이내에 나타나도록 다시 켰습니다.

지난 24 시간 동안, 나는 실시간 보호를 다시 켜고 끈다. 매번-결과는 같습니다.

업데이트 : 카스퍼 스키 안티 바이러스에서 실시간 보호와 동일한 문제를 겪은 다른 개발자를 만났습니다. 그는 그것을 비활성화하고 문제가 사라졌습니다. 즉이 문제는 ESET에만 국한되지 않습니다.


1
바이러스 백신을 사용하고 콘텐츠 길이 헤더를 보내면 작동합니까? 문제가 Eset + ip에서 페이지를 방문하는 경우 문제를 해결하는 것이 좋습니다. 콘텐츠 길이 헤더를 제공해도 문제가되지 않으며 요청 당 1ms가 소요될 수 있습니다.
twicejr

1
오랜 경험으로 볼 때 안티 바이러스는 좋은 것보다 훨씬 더 많은 해를 끼칩니다.
Shadow Wizard is Ear For You

1
Kaspersky에서이 문제가있는 사람은 "웹 트래픽에 스크립트 삽입"기능을 사용하는 것이 문제입니다. 네트워크 설정에서 찾을 수 있습니다.
Hele

2
AVAST도 같은 문제를 겪고 있습니다. 더 이상 일부 사이트를 방문 할 수도 없었습니다. 웹 스캐닝을 비활성화하고 모든 것이 정상 작동으로 돌아갔습니다.
patrick

3
네, Avast도 저에게 문제였습니다. 특히 Script ScanningWeb Shield 의 옵션입니다.
Juha Untinen

47

페이지를 전송하는 중에 Chrome이 차단되었다는 오류가 발생했습니다. 귀하의 문제는 이유를 파악하려고합니다.

분명히 이것은 몇 가지 버전의 Chrome에 영향을 미치는 알려진 문제 일 수 있습니다. 내가 알 수있는 한,이 버전이 전송되는 청크의 내용 길이와 해당 청크의 표현 된 크기에 크게 민감한 문제입니다 (나는 그 중 하나에서 멀리 떨어져있을 수 있음). 요컨대, 약간 불완전한 헤더 문제가 있습니다.

반면에 서버가 터미널 0 길이 청크를 보내지 않을 수 있습니다. 로 고칠 수 있습니다 ob_flush();. Chrome (또는 연결 또는 무언가)이 느려질 수도 있습니다. 따라서 연결이 닫히면 페이지가 아직로드되지 않았습니다. 왜 이런 일이 일어날 지 모르겠습니다.

편집증 프로그래머는 다음과 같이 대답합니다.

<?php
    // ... your code
    flush();
    ob_flush();
    sleep(2);
    exit(0);
?>

귀하의 경우에는 스크립트 시간이 초과되었을 수 있습니다. 왜 그것이 당신에게만 영향을 미치는지 잘 모르겠지만 많은 경쟁 조건에 처할 수 있습니까? 그것은 완전히 추측입니다. 스크립트 실행 시간을 연장하여이를 테스트 할 수 있어야합니다.

<?php
    // ... your while code
    set_time_limit(30);
    // ... more while code
?>

Chrome 설치를 업데이트해야하는 것처럼 간단 할 수도 있습니다 (이 문제는 Chrome에만 해당됨).

업데이트 : PHP (동일한 로컬 호스트에 있음)가 버퍼링출력 하는 동안 치명적인 오류가 발생했을 때이 오류를 마침내 복제 할 수있었습니다. . 나는 출력이 너무 많이 엉망이되어 많은 용도로 사용하기에 충분하지 않다고 생각합니다 (헤더는 거의 없지만 내용은 거의 없거나 전혀 없음).

특히, 실수로 PHP가 포기할 때까지 실수로 코드를 재귀 적으로 호출했습니다. 따라서 서버는 터미널 0 길이 청크를 보내지 않았습니다. 이는 이전에 확인한 문제였습니다.


잘 모르겠지만 이것은 나에게 정말 유용합니다. set_time_limit (30);
Zhang Buzz

1
메모리 제한을 늘리면 내 경우에 도움이되었습니다. ini_set ( 'memory_limit', '500M');
BenK

실제로 응답을 플러시하지 않고 연결을 닫을 때 문제가 발생합니다. 이로 인해 크롬이 스트림의 최종 바이트를 수신하지 않습니다. vertx에서 response.close () 대신 response.end ()를 수행하십시오.
MUNGAI NJOROGE

30

나는이 문제가 있었다. 이 질문에 대한 대부분의 다른 답변을 시도한 후에 그것을 추적했습니다. 이는 디렉토리 의 소유자 및 권한으로 인해 발생했으며 /var/lib/nginx특히 /var/lib/nginx/tmp디렉토리가 올바르지 않습니다.

tmp 디렉토리는 fast-cgi에서 응답이 생성 될 때 특정 크기 이상인 경우에만 응답을 캐시하는 데 사용됩니다. 따라서이 문제는 간헐적이며 생성 된 응답이 큰 경우에만 발생합니다.

nginx <host_name>.error_log권한 문제가 있는지 확인하십시오 .

수정하려면 소유자와 그룹 /var/lib/nginx및 모든 하위 디렉토리가 nginx인지 확인하십시오.


3
여기에 같은, chown은 / var / lib 디렉토리 /의 nginx는 👍 나를 위해 그것을 고정에
아브 Aharoni

2
여기서도 홈 브루 설치시 읽기 / 쓰기 권한을 부여해야하는 / usr / local / var / run / nginx / fastcgi_temp 디렉토리를 만들었습니다.
cjn

비슷한 문제가 있었지만 권한 문제는 다른 디렉토리 / etc / nginx / proxy_temp /와 관련이 있습니다. 이 문제를 해결 한 후 최소한 현재로서는 문제가 사라졌습니다.
Shidersz

제 경우에는 문제가 SSL 인증서 만료와 관련이있는 것 같습니다.
dvlcube

18

다음은 모든 클라이언트에 대해 수정해야합니다.

//Gather output (if it is not already in a variable, use ob_start() and ob_get_clean() )    

// Before sending output:
header('Content-length: ' . strlen($output));

그러나 제 경우에는 다음이 더 나은 옵션이었고 수정했습니다.

.htaccess :

php_value opcache.enable 0

1
이것은 실제로 나를 위해 수정합니다. ajax로 div에 PHP로 생성 된 콘텐츠를로드하고 파일이 2MB 이상일 때 Chrome net :: ERR_INCOMPLETE_CHUNKED_ENCODING 오류가 3에서 2 번 발생합니다. 내용 길이를 추가하면 문제가 해결됩니다. 감사합니다!
Adrian P.

이 솔루션은 angular가 json을 읽는 사이트가있는 우리를 위해 일했습니다 ... 우리의 경우 .htaccess에서 php_flag opcache.enable Off였습니다. Mac에서도이 문제가 발생했기 때문에 바이러스 백신과 관련이 없다는 것을 알고있었습니다. 고마워!!
danielgc

훌륭합니다 :) 웹 서버가 PHP 5.6을 실행합니까? PHP 7로 업그레이드하면 문제가 해결 될 것이라고 생각합니다. 적어도 지금은 내 경험입니다!
twicejr

이 ^ ^ ^이 천 번! 개발중인 Drupal 8 사이트에서이 문제가 발생했습니다. CSS와 JS를 집계하도록 설정하자마자 Chrome에서 관리자 페이지를로드하는 데 문제가 발생했습니다. Firefox에는 문제가 없습니다.
Andrew Wasson

Tomcat 서버에 배포 된 jsp-servlet 기반 애플리케이션에서이를 수행하는 방법
Shubham Arya

14

OMG, 5 분 전에 같은 문제를 해결했습니다. 나는 해결책을 찾기 위해 몇 시간을 보냈다. 처음에는 안티 바이러스를 비활성화하면 Windows의 문제가 해결되었습니다. 그러나 바이러스 백신이없는 다른 Linux PC에서 문제를 발견했습니다. nginx 로그에 오류가 없습니다. 나는 uwsgi"깨진 파이프"에 대해 뭔가를 보여 주었지만 모든 요청에 ​​대해 그렇지는 않았다. 무엇을 알고? 장치에 남은 공간이 없었습니다. 데이터베이스 로그에서 서버를 다시 시작할 때 발견하고 df승인했습니다. 안티 바이러스가 해결 된 이유에 대해서만 설명하면 브라우저 캐싱을 막을 수 있지만 (모든 요청을 확인해야 함) 이상한 동작이있는 브라우저는 단순히 잘못된 응답을 무시하고 캐시 된 응답을 표시 할 수 있습니다.


1
지난 24 시간 동안이 문제로 어려움을 겪어 왔습니다. 그것은 전체 루트 파티션 때문이었습니다. 그것은 django 설치에 있었고 pgbouncer 로그는 루트 파티션을 채웠습니다. 고마워
Anoop Ar

나를 구했다! 내 루트 파티션이 가득 차서 nginx에도 영향을 미쳤습니다
chrismarx

6

내 경우에는 /usr/local/var/run/nginx/fastcgi_temp/3/07/0000000073" failed (13: Permission denied)아마도 Chrome net :: ERR_INCOMPLETE_CHUNKED_ENCODING 오류가 발생했을 수 있습니다.

/usr/local/var/run/nginx/nginx 를 제거 하고 다시 만들도록했습니다.

$ sudo rm -rf /usr/local/var/run/nginx/
$ sudo nginx -s stop
$ sudo mkdir /usr/local/var/run/nginx/
$ sudo chown nobody:nobody /usr/local/var/run/nginx/
$ sudo nginx

4

알려진 Chrome 문제입니다. Chrome 및 Chromium 버그 추적기에 따르면 이에 대한 보편적 인 해결책은 없습니다. 이 문제는 서버 유형 및 버전과 관련이 없으며 Chrome에 있습니다.

이 문제 Content-Encodingidentity해결하기 위해 헤더를 설정 하면 나에게.

에서 developer.mozilla.org

정체성 | 식별 기능을 나타냅니다 (예 : 압축 및 수정 없음).

따라서 경우에 따라 Chrome에서 gzip 압축을 올바르게 수행하지 못할 수도 있습니다.


3

방금 비슷한 문제가 발생했습니다. 그리고 페이지에 서수 값이 255보다 큰 UTF-8 문자 (예 : 멀티 바이트)가 포함 된 경우에만 발생했습니다.

결국 문제는 Content-Length 헤더가 계산되는 방식이었습니다. 기본 백엔드는 바이트 길이가 아닌 문자 길이를 계산했습니다. 콘텐츠 길이 헤더를 끄면 백엔드 템플릿 시스템을 수정할 수있을 때까지 일시적으로 문제가 해결되었습니다.


3

가장 쉬운 해결책은 설정된 프록시 위치에 대한 proxy_read_timeout을 nginx.conf에서 더 높은 값 (120 초)으로 늘리는 것입니다.

location / {
....
proxy_read_timeout 120s
....
}

이 솔루션을 여기에서 찾았습니다 https://rijulaggarwal.wordpress.com/2018/01/10/atmosphere-long-polling-on-nginx-chunked-encoding-error/


다른 사이트에서 복사하는 대신 이러한 상황이 발생할 때 더 많은 컨텍스트를 제공하십시오.
Akaisteph7

3

내가이 오류에 직면했을 때 (javascript에서 AJAX 호출을하는 동안); 그 이유는 컨트롤러의 응답이 잘못 되었기 때문입니다. 유효한 형식이 아닌 JSON을 반환했습니다.


2

여기서 문제는 Avast AV였습니다. 사용 중지하자마자 문제가 사라졌습니다.

그러나 나는이 행동의 원인을 정말로 이해하고 싶습니다.


2

누군가 MOODLE 과 동일한 문제가있을 경우 경험을 공유하고 싶었습니다 .

우리의 무들 플랫폼은 갑자기 매우 느 렸습니다. 대시 보드는 평소보다로드하는 데 약 2-3 배 더 오래 걸렸습니다 (최대 6 초). 때로는 일부 페이지가 전혀로드되지 않았습니다 (404 오류가 아니라 빈 페이지) ). 개발자 도구 콘솔에서 다음 오류가 표시되었습니다.net::ERR_INCOMPLETE_CHUNKED_ENCODING.

이 오류를 검색하면 Chrome이 문제인 것처럼 보이지만 다양한 브라우저에 문제가있었습니다. 마지막으로 문제를 발견하기 전 몇 시간 동안 데이터베이스를 조사하고 데이터베이스를 비교 한 후 누군가가 이벤트 모니터링을 켰습니다. 그러나 "구성 변경"로그에는이 변경 사항이 표시되지 않았습니다! 이벤트 모니터링을 끄고 마침내 문제를 해결했습니다. 이벤트 모니터링에 대한 규칙이 정의되지 않았습니다.

우리는 MariaDB 및 PHP 5.4와 함께 무들 3.1.2 이상을 실행하고 있습니다.


2

이것은 수년 동안 분리 된 두 개의 서로 다른 클라이언트 서버에서 문제없이 수백 대의 다른 서버에 배포 된 동일한 코드를 사용하여 발생했습니다.

이러한 클라이언트의 경우 주로 HTML을 스트리밍하는 PHP 스크립트, 즉 출력을 사용할 수있게되면 출력이 브라우저로 전송되는 "연결 : 닫기"페이지에서 발생했습니다.

스크립트가 완료되기 전에 그리고 시간 초과가되기 전에 PHP 프로세스와 웹 서버 사이의 연결이 너무 일찍 끊어졌다.

문제는 메인 php.ini 파일에서 opcache.fast_shutdown = 1이었습니다. 이 지시문은 기본적으로 비활성화되어 있지만 일부 서버 관리자는 여기에 성능 향상이 있다고 생각합니다. 모든 테스트 에서이 설정을 사용하여 긍정적 인 차이점을 언급 한 적이 없습니다. 필자의 경험에 따르면 일부 스크립트는 실제로 더 느리게 실행되며 스크립트가 여전히 실행되는 동안 또는 웹 서버가 여전히 버퍼에서 읽는 동안 실행이 끝날 때 종료로 들어가는 끔찍한 추적 기록을 가지고 있습니다. https://github.com/zendtech/ZendOptimizerPlus/issues/146 과 관련하여 2017 년 2 월 현재 해결되지 않은 2013 년 이전 버그 보고서가 있습니다.

이 ERR_INCOMPLETE_CHUNKED_ENCODING ERR_SPDY_PROTOCOL_ERROR로 인해 다음 오류가 나타나는 것을 보았습니다. 때때로 관련 segfault가 기록됩니다. 때로는 그렇지 않습니다.

둘 중 하나가 발생하면 phpinfo를 확인하고 opcache.fast_shutdown이 비활성화되어 있는지 확인하십시오.


1

죄송합니다. 정확한 답변이 없습니다. 그러나 나는이 문제도 겪었고 적어도 내 경우에는 그 주위에 길을 찾았습니다. 아마도 Php에 대해 더 많이 알고있는 누군가에게 단서를 제공 할 것입니다.

시나리오는 배열을 함수에 전달한 것입니다. 이 배열의 내용은 HTML 문자열을 생성하여 나중에 인쇄되는 전역 변수 안에 배치하여 브라우저로 다시 전송하는 데 사용됩니다. (이 함수는 실제로 아무것도 반환하지 않습니다. 조잡합니다. 그러나 그것은 요점입니다.)이 배열 안에는 무엇보다도이 함수 외부에 정의 된 중첩 연관 배열을 참조하는 몇 가지 요소가 있습니다. . 제거 프로세스를 통해 참조 된 요소를 설정 해제하려는 시도를 포함 하여이 함수 내 에서이 배열 내에서 요소를 조작하면 참조에 관계없이 Chrome에서 net :: ERR_INCOMPLETE_CHUNKED_ENCODING 오류가 발생하고 내용이 표시되지 않는 것으로 나타났습니다.

처음부터 배열 요소에 대한 참조를 적용하지 않도록 스크립트를 다시 작성해야만 정상적으로 작동하기 시작했습니다. 나는 이것이 실제로 콘텐츠 길이 헤더를 던지는 참조 된 요소의 존재와 관련이있는 Php 버그라고 생각하지만, 확실히 이것에 대해 충분히 알지 못합니다.


이 오류 메시지와 비슷한 경험이 있었지만 코드에 메모리 부족 오류가 발생했을 가능성이있는 코드에 오류가 있음을 알았습니다. 재귀 내에서 추가 메모리를 사용하지 않았을 수도 있습니다. 어쨌든, 나는 출력 버퍼를 플러시하지 않고 PHP 오류를 생성하지 않고 PHP가 조용히 죽는다고 생각합니다.
도끼 muz

1

Chrome 및 Firefox의 사이트 에서이 문제가 발생했습니다. Avast Web Shield를 끄면 사라졌습니다. 내 htaccess 파일에 html5 상용구 htaccess를 추가하여 Web Shield와 함께 작동하도록하는 것처럼 보입니다.

# ------------------------------------------------------------------------------
# | Expires headers (for better cache control)                                 |
# ------------------------------------------------------------------------------

# The following expires headers are set pretty far in the future. If you don't
# control versioning with filename-based cache busting, consider lowering the
# cache time for resources like CSS and JS to something like 1 week.

<IfModule mod_expires.c>

    ExpiresActive on
    ExpiresDefault                                      "access plus 1 month"

  # CSS
    ExpiresByType text/css                              "access plus 1 week"

  # Data interchange
    ExpiresByType application/json                      "access plus 0 seconds"
    ExpiresByType application/xml                       "access plus 0 seconds"
    ExpiresByType text/xml                              "access plus 0 seconds"

  # Favicon (cannot be renamed!)
    ExpiresByType image/x-icon                          "access plus 1 week"

  # HTML components (HTCs)
    ExpiresByType text/x-component                      "access plus 1 month"

  # HTML
    ExpiresByType text/html                             "access plus 0 seconds"

  # JavaScript
    ExpiresByType application/javascript                "access plus 1 week"

  # Manifest files
    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
    ExpiresByType text/cache-manifest                   "access plus 0 seconds"

  # Media
    ExpiresByType audio/ogg                             "access plus 1 month"
    ExpiresByType image/gif                             "access plus 1 month"
    ExpiresByType image/jpeg                            "access plus 1 month"
    ExpiresByType image/png                             "access plus 1 month"
    ExpiresByType video/mp4                             "access plus 1 month"
    ExpiresByType video/ogg                             "access plus 1 month"
    ExpiresByType video/webm                            "access plus 1 month"

  # Web feeds
    ExpiresByType application/atom+xml                  "access plus 1 hour"
    ExpiresByType application/rss+xml                   "access plus 1 hour"

  # Web fonts
    ExpiresByType application/font-woff                 "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
    ExpiresByType application/x-font-ttf                "access plus 1 month"
    ExpiresByType font/opentype                         "access plus 1 month"
    ExpiresByType image/svg+xml                         "access plus 1 month"

</IfModule>

# ------------------------------------------------------------------------------
# | Compression                                                                |
# ------------------------------------------------------------------------------

<IfModule mod_deflate.c>

    # Force compression for mangled headers.
    # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
    </IfModule>

    # Compress all output labeled with one of the following MIME-types
    # (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
    #  and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
    #  as `AddOutputFilterByType` is still in the core directives).
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE application/atom+xml \
                                      application/javascript \
                                      application/json \
                                      application/rss+xml \
                                      application/vnd.ms-fontobject \
                                      application/x-font-ttf \
                                      application/x-web-app-manifest+json \
                                      application/xhtml+xml \
                                      application/xml \
                                      font/opentype \
                                      image/svg+xml \
                                      image/x-icon \
                                      text/css \
                                      text/html \
                                      text/plain \
                                      text/x-component \
                                      text/xml
    </IfModule>

</IfModule>

# ------------------------------------------------------------------------------
# | Persistent connections                                                     |
# ------------------------------------------------------------------------------

# Allow multiple requests to be sent over the same TCP connection:
# http://httpd.apache.org/docs/current/en/mod/core.html#keepalive.

# Enable if you serve a lot of static content but, be aware of the
# possible disadvantages!

 <IfModule mod_headers.c>
    Header set Connection Keep-Alive
 </IfModule>

1

내 수정은 :

<?php  ob_start(); ?>
<!DOCTYPE html>
<html lang="de">
.....
....//your whole code
....
</html>
<?php
        ob_clean();
ob_end_flush();

ob_flush();

?>

이것이 미래에 누군가를 도울 수 있기를 바랍니다. 제 경우에는 카스퍼 스키 문제이지만 위의 해결책은 훌륭하게 작동합니다 :)


1

내 경우에는 웹 API 반환 페이로드의 json 직렬화 중에 발생했습니다 .Entity Framework 모델에 '원형'참조가 있었고 간단한 일대 다 객체 그래프를 반환했지만 자식은 부모는 json serializer가 좋아하지 않는 것 같습니다. 부모를 참조하고있는 자식의 속성을 제거하면 트릭을 수행했습니다.

이것이 비슷한 문제가있는 사람에게 도움이되기를 바랍니다.


1

nginx 폴더 권한을 확인하고 이에 대한 appache 권한을 설정하십시오.

chown -R www-data:www-data /var/lib/nginx


1

나에게는 하드 드라이브의 여유 공간이 부족하여 발생했습니다.


1

이것은 다른 이유로 나에게 일어나고있었습니다. net :: ERR_INCOMPLETE_CHUNKED_ENCODING 200 페이지를 검사하고 newtork 탭으로 이동하면 vendor.js 페이지를로드하지 못했습니다. 확인하면 js 파일의 크기가 ~ 6.5 mb 인 것 같습니다. 즉, js를 압축해야한다는 것을 깨달았습니다. ng build빌드 명령을 사용하고 있는지 확인했습니다 . 대신 내가 ng build --prod --aot --vendor-chunk --common-chunk --delete-output-path --buildOptimizer그것을 사용할 때 나를 위해 일했다. https://github.com/angular/angular-cli/issues/9016


0

잘. 얼마 전 나는이 질문을 만났다. 마지막 으로이 문제를 해결하는 솔루션을 얻습니다.

내 문제 증상은 페이지가로드되지 않고 json 데이터가 무작위로 잘린 것을 알 수 있습니다.

이 문제를 해결하는 데 도움이되는 솔루션은 다음과 같습니다.

1.Kill the anti-virus software process
2.Close chrome's Prerendering Instant pages feature
3.Try to close all the apps in your browser
4.Try to define your Content-Length header
  <?php
     header('Content-length: ' . strlen($output));
  ?>
5.Check your nginx fastcgi buffer is right 
6.Check your nginx gzip is open

0

존재하지 않는 루프 또는 항목이 있으면이 문제에 직면하게됩니다.

Chrome에서 앱을 실행할 때 페이지가 비어 있고 응답이 없습니다.

시나리오 시작 :

개발 환경 : MAC, STS 3.7.3, tc Pivotal Server 3.1, Spring MVC Web,

$ {myObj.getfName ()}

시나리오 끝 :

문제점 이유 : getfName () 함수가 myObj에 정의되어 있지 않습니다.

그것이 당신을 돕기를 바랍니다.


0

내 서버는 청크 전송 인코딩을 올바르게 처리하지 못하고 있다고 생각합니다. 전체 파일이 전송되었음을 표시하기 위해 청크 청크 파일을 터미널 청크로 종료해야하므로 아래 코드가 작동 할 수 있습니다.

echo "\n";
flush();
ob_flush();
exit(0);

0

제 경우에는 서버의 mysqlnd_ms php 확장에 대한 구성이 손상되었습니다. 재미있는 점은 짧은 기간 동안 요청에서 제대로 작동했다는 것입니다. 서버 오류 로그에 경고가 있었으므로 빠르게 수정했습니다.


0

이것은 여러 가지 원인과 해결책의 일반적인 문제처럼 보이므로 필요할 수있는 사람을 위해 여기에 대답을 드리겠습니다.

나는 얻고 있었다 net::ERR_INCOMPLETE_CHUNKED_ENCODING 크롬, OSX, php70, httpd24 조합에 있지만, 프로덕션 서버에서 동일한 코드를 실행 된 벌금.

나는 처음에는 정규 통나무를 but지만 실제로는 아무것도 나타나지 않았다. 빠른 ls -latersystem.log는의 최신 터치 파일 /var/log과 테일링으로

Saved crash report for httpd[99969] version 2.4.16 (805) 
to /Library/Logs/DiagnosticReports/httpd.crash

안에 포함 :

Process:               httpd [99974]
Path:                  /usr/sbin/httpd
Identifier:            httpd
Version:               2.4.16 (805)
Code Type:             X86-64 (Native)
Parent Process:        httpd [99245]
Responsible:           httpd [99974]
User ID:               70

PlugIn Path:             /usr/local/opt/php70-mongodb/mongodb.so
PlugIn Identifier:       mongodb.so

A brew uninstall php70-mongodbhttpd -k restart나중에 그리고 모든 것이 순조롭게 항해되었습니다.


0

제 경우에는 html 문제였습니다. json 응답에 '\ n'이 (가) 문제를 일으켰습니다. 그래서 나는 그것을 제거했습니다.


0

이 문제에 대한 여러 가지 원인이 무엇인지 알아 보는 것이 좋습니다!

많은 사람들이 Chrome 문제라고 말하면서 Safari를 사용해 보았지만 여전히 문제가 있습니다. 그런 다음 AVG Realtime Protection 해제를 포함하여이 스레드의 모든 솔루션을 사용해 보았습니다.

나에게 문제는 내 .htaccess파일이었다. 포함 된 모든 것은 FallbackResource index.php이지만 이름을 (으 htaccess.txt)로 바꾸면 문제가 해결되었습니다.


1
뭐야 ...? 나는 같은 것을 가지고 있습니다 ... 그러나 이름이으로 바뀌면 htaccess.txt더 이상 작동하지 않습니까?

정확하게. 더 좋은 질문은 index.php가 오류를 처리하는 이유는 무엇입니까? 왜이 문제가 발생합니까?
musicin3d

0

흠 나는 비슷한 문제에 부딪 쳤지 만 다른 이유가 있습니다 ...

내가 사용하고 Laravel 대행을 가진 바닐라 PHP 프로젝트에 Laravel 믹스 . Chrome에서 사이트를 열 때 net::ERR_INCOMPLETE_CHUNKED_ENCODING오류가 발생했습니다. (HTTPS 프로토콜에 사이트를로드 한 경우 오류가로 변경되었습니다 net::ERR_SPDY_PROTOCOL_ERROR.)

나는를 확인 php.ini하고 opcache활성화되지 않았습니다. 내 경우에는 문제가 자산 파일의 버전 관리와 관련이 있음을 알았습니다. 어떤 이유로 든 자산의 URL에서 쿼리 문자열을 좋아하지 않는 것 같습니다 (이상하게도, 특히 하나만?).

mix.version()로컬 환경에서 제거 했으며 HTTP 및 HTTPS 프로토콜 모두에서 Chrome의 사이트가 정상적으로로드됩니다.


0

Drupal 8 (Symfony Framework)의 컨트롤러와 관련하여이 솔루션은 저에게 효과적이었습니다.

$response = new Response($form_markup, 200, array(
  'Cache-Control' => 'no-cache',
));

$content = $response->getContent();
$contentLength = strlen($content);
$response->headers->set('Content-Length', $contentLength);

return $response;

그렇지 않으면 응답 헤더 'Transfer-Encoding'의 값이 'chunked'입니다. Chrome 브라우저에 문제가있을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.