지난 두 달 동안 Chrome 개발자 콘솔에서 다음과 같은 오류가 발생했습니다:
net::ERR_INCOMPLETE_CHUNKED_ENCODING
증상:
서버 환경:
사내 아파치 서버에서 이런 일이 발생하고 있습니다. 즉, 우리 사용자 중 누구도 이 문제를 경험하지 않고 있으며, 개발팀의 다른 누구도 이 문제를 경험하지 않습니다.
다른 사용자들도 똑같은 버전의 Chrome으로 똑같은 서버에 접속하고 있습니다. 또한 모든 확장 프로그램을 비활성화하고 시크릿 모드에서 브라우징을 시도했지만 아무런 효과가 없었습니다.
Firefox를 사용했는데 똑같은 일이 발생하고 있습니다. 잘린 파일 등이 있습니다. 한 가지 아쉬운 점은 Firefox는 콘솔 오류를 발생시키지 않기 때문에 문제를 확인하려면 Firebug를 통해 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분 동안 문제가 사라집니다. 그런 다음 다시 나타납니다.
알겠습니다. 이 문제를 세 번 테스트해 본 결과, 바이러스 백신(ESET NOD32 ANTIVIRUS 5)으로 인한 문제임을 100% 확신합니다.
실시간 보호를 비활성화할 때마다 문제가 사라집니다. 오늘은 실시간 보호를 6~7시간 동안 꺼두었는데 문제가 발생하지 않았습니다.
조금 전에 다시 켜자 1분 이내에 문제가 다시 나타났습니다.
지난 24시간 동안 확실히 하기 위해 실시간 보호 기능을 켜고 껐다가 다시 켰습니다. 매번 결과는 동일했습니다.
업데이트: Kaspersky 안티바이러스에서 실시간 보호와 똑같은 문제를 겪은 다른 개발자를 만났습니다. 그는 이 기능을 비활성화했고 문제는 사라졌습니다. 즉, 이 문제는 ESET에만 국한된 것은 아닌 것 같습니다.
페이지가 전송되는 동안 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 길이 청크를 보내지 않았고, 이것이 제가 앞서 확인한 문제였습니다.
내가 가진 이 문제를 해결할 수 있습니다. 대부분의 다른 대답을 한 후 여기있을 질문이예요 추적됨 it down 전송되었기 소유자 및 권한에 따른 '/ var / lib / nginx' 와 '더 명확히 / var / lib / nginx/tmp' 디렉터리입니다 기술입니까 잘못되었습니다.
Tmp 디렉터리는 캐시하려면 작성되면 응답을 빠른 cgi 사용하는 경우 일정 규모 이상의 뿐. 따라서 문제는 간헐적입니다 유일한 테스트타사의 때 생성된 응답 큽니다.
Nginx < host_name> .error_log 볼 수 있을 경우, ',' 확인 권한 문제.
픽스의 수 있도록 '와' 의 소유자 및 그룹 / var / lib / nginx 는 모든 하위 디렉토리 nginx.
모든 클라이언트에서 이 문제를 해결하려면 다음과 같이 하세요.
<?php
//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
OMG, 5 분 전에 같은 문제가 있었습니다. 난 해결책을 찾기 위해 몇 시간씩 보냈다. 첫눈에 반한 비활성화하기 안티바이러스 Windows 의 문제를 해결했다. 그런데 난 것에 대해 다른 리눅스 pc 없이 안티바이러스. Nginx 로깅합니다 오류가 없습니다. 뭔가 내 ',' " 줄바꿈할 pipe" 우사기 보였다. 모든 요청을 하지 않았다. 그거 알아? 내가 찾은 장치에 남은 공간이 없다, 이는 서버의 데이터베이스 로그 및 'df' 승인됨으로 재시작될 때 이. 이것은 안티바이러스 sanlight 있지만브라우저에 캐싱과는 차단하는 것은 디렉토리에만 이유에 대해 설명 (확인란 합니다 모든 요청에) 이지만, 일부 잘못된 응답, 쇼 캐싱됨 응답을 무시하시겠습니까 이상한 비헤이비어를 있지만브라우저에 쉽게 할 수 있습니다.
크롬 문제를 것으로 알려졌다. 크롬, 크롬 버그 트래커 범용 솔루션으로 따르면 이 없다. 이 문제는 크롬 버전, 서버 유형 및 무관하다고 있는 것이 맞다.
이 문제를 해결할 수 있는 'id' 설정 '' 헤더입니다 컨텐츠 인코딩입니다 다는일은.
>. id 는 항등 함수 (즉, disk_b_s10database 압축 없음 >. 수정).
그래서, 내가 할 수 있는 경우에 따라 제안하세요 gzip 압축, 크롬 제대로 수행할 수 없습니다.
저의 경우는 내가 '/usr/local/var/run/nginx/fastcgi_temp/ 3/07/0000000073 " 한다는 것이었다. 실패 (13: 아마도 그 권한 거부됩니다) '가 크롬 net::ERR_INCOMPLETE_CHUNKED_ENCODING 오류:.
난 이미 '/ usr / local / var / 실행 / /' 지루려면 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
가장 쉬운 방법은 해당 집합에 대한 가치를 높게 proxy_read_timeout 증가되지는 가상본 위치 (let 말하도다 120 년대) 에 네긴스.콘프트
location / {
....
proxy_read_timeout 120s
....
}
여기서 내가 찾은 이 솔루션은 https://rijulaggarwal.wordpress.com/2018/01/10/atmosphere-long-polling-on-nginx-chunked-encoding-error/
그냥 응시 휠릿과 비슷한 문제가 아니다. 그리고 그것은 오직 일어나고 있다는 사실을 알고 있는 문자를 UTF-8 보다 큰 값을 255w v2.03-00 페이지를 보면 서수 (즉 멀티바이트).
어떤 문제가 어떻게 됐지 기술입니까 컨텐츠 길이 헤더 활동하다 계산됩니까. 기본 데이터, 문자 길이 아닌 컴퓨팅용으로 바이트입니다 길이 있었다. 내가 이 문제를 바로잡을 수 있을 때까지 한시적으로 선반가공 끄기도구 컨텐츠 길이 헤더 고정식입니다 백 엔드 템플리트를 시스템.
이는 2 개의 서로 다른 일이 clients& # 39. 몇 년 동안 같은 코드를 사용하여 분판된 서버를 통해 다른 서버에 있는 해당 시간에 대한 문제 없이 수백 명을 배치되었다.
이러한 클라이언트, HTML, - 즉, 주로 PHP 스크립트입니다 발생했습니까 인도하심이라만일 스티리밍 " 연결: close". 여기서 출력입니다 페이지 출력 사용할 수 있게 된 만큼 있지만브라우저에 보내졌다.
Php 는 프로세스 및 웹 서버 사이의 연결이 것으로 드러나 드롭하기 조기에 완료하고 스크립트입니다 전에 먼저 운행에서어떠한 시간초과했습니다.
주요 파피니 파일에 문제가 opcache.fast_shutdown = 1 위. 하지만 일부 서버 관리자는 이 디렉티브을 비활성화되었습니다 기본적으로 믿을 수 있을 것 같아 여기서 성능 향상을 했다. 내 모든 테스트를 한 적이 있다고 긍정적인 변화를 이를 통해 설정값입니다. 내 경험상 때문에 어느 정도 갖추고 있으며, 실제로 추적할 수 있으며, 때때로 가혹한 스크립트에만 느리게 실행하십시오 스크립트입니다 아직 실행 기록을 동시에 hutdown 입력, 심지어 동안 읽는 동안 웹 서버가 여전히 엑서큐션 말 것을 의미한다. 2월 2017년, 2013년 이전 문제가 발생할 수 있는 버그 보고서에서, 확인되지 않은 vmware. 관련. https://github.com/zendtech/ZendOptimizerPlus/issues/146
이로 인해 나타날 것으로 다음과 같은 오류가 나는 ERR_INCOMPLETE_CHUNKED_ENCODING ERR_SPDY_PROTOCOL_ERROR 가끔 로깅된 지그포츠 유사한 있습니다. 가끔 않습니다.
둘 중 하나를 경험하십시오 경우, 프핀포 확인하고, 및 smartupdate opcache.fast_shutdown 비활성화되었습니다.
나는 이 시나리오는 전달된 어레이에서는 함수. 이 어레이입니다 컨텐트에서 깔의 위해 사용되는 문자열을 전송할 수 있는 HTML 브라우저, 모든 변수 안에 넣어서 백됩니다 노드전역 that& # 39 의 나중에 인쇄되었습니다. (이 기능은 다시 isn& # 39, 실제로 아무것도 없다. # 39 의 것을 알 수 없지만, 저는 너저분 that& 요점이지.) 그밖에 다른 것들로 몇 가지 요소를 모두 가지고 있는 이 어레이이며 참조별로, 연관 배열, 이 함수의 네스트된 정의되었던 바깥쪽인지가. 내가 찾은 내에 있는 모든 요소에 의해, 이 기능을 조작할 수 있는 이 어레이입니다 프로세스의-제거 referenced 방관하겠나, 그 결과, 크롬 등 해제할 시도가 referenced net::ERR_INCOMPLETE_CHUNKED_ENCODING 오류 및 디스플레이하여 내용이 없는 요소를 던진다. Html 이 사실을 정확히 어떤 문자열의 불구하고 글로벌 가변입니다 바람직하다.
다시 도구 의해서만 스크립트입니다 적용하지 않도록 참조입니다 스토리지와의 요소를 모두 1 위를 한 것을 다시 시작 정상적으로 작동합니다. 실제로 이 Php 버그 관련이 있다는 의심이 있으면 referenced 요소를 컨텐츠 길이 헤더, 근데 정말 don& 던지기 끕니까 말할 수 있을 만큼 우리 섹스한거요 그러거라 # 39 수 있을지 알 수 없다.
내가 만약 이 문제가 현장에서 크롬과 파이어폭스. 만약 내가 켜졌음 끕니까 Avast 웹 Shield it 도망. 내가 할 수 있을 것 같아 관리됨 이해했소 작동합니까 일부 html5 상용 웹 실드 내 사마세스 사마세스 추가하기만 실행 파일:
# ------------------------------------------------------------------------------
# | 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>
누군가 내 경험을 공유할 수 있는 싶어서 지정값이 무들 로 같은 문제가 있다.
갑작스레 매우 느리게, 더 이상 우리의 무들 플랫폼 대시보드 (최대 6 초) 을 무려 약 2-3 번 로드하기에 일상적인 때때로 일부 페이지가 didn& # 39, t get 로드되는지 모두 (404 에러 하지만 아닌 빈 페이지가). 다음과 같은 오류가 있는 개발자 도구 콘솔입니다 볼 수 있었다. 'net::ERR_INCOMPLETE_CHUNKED_ENCODING.'
마치 문제가 있지만, 우리는 이 오류를 검색할 수 있는 다양한 문제를 경식도 크롬 브라우저. 난 결국 데이터베이스만 비교 연구를 통해 발견된 몇 시간 후 며칠 전에 이벤트 모니터링 문제, 누군가 켜졌음 생일날이야 그러나 " 구성용 changes"; 이 변경 로깅합니다 wasn& # 39, t 가시적입니다! 우리는 결국 문제를 해결한 선반가공 이벤트 모니터링 오프하도록 이벤트 모니터링을 위해 정의된 규칙을 없었다.
점점 더 net::ERR_INCOMPLETE_CHUNKED_ENCODING ',' 내가 어렸을 때 내가 찾은 것은 감사라고요 서버 에러 로그를 인해 PHP 스크립트 실행 시간초과했습니다.
이 선 위에서 추가 PHP 스크립트 해결 it for me.
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
내 경우 웹 api 중 전송되었기 일이 있었는데, - I & # 39 는 json 직렬화하지 복귀하십시오 circular& # 39. 단순 그래프 참조 모델, 내가 다시 내 엔티티입니다 프레임워크입니다 일대다 객체에는 뒤로를 하지만, 이는 명백히 json 이 자식 인도하심이라만일 참조입니다 백됩니다 모피쳐 시리얼 doensn& # 39, 마음에. 그게 부모 자식 등록 정보마다 분리 참조하는 것이 있었다.
따라서 사람이 희망을 유사한 문제가 있을 수 있습니다.
이 문제와 관련하여 몇 가지 흥미로운 인해 볼 수 있습니다!
S # 39, 사파리, 크롬, 그래서 많은 말하도다 it& 문제 한 문제를 아직도 남아 있었다. 그리고 이 모든 솔루션을 포함한 실시간 보호, 아니 내 평균 한 스레드할 선반가공 오프하도록 운빨이야.
문제는 ',' 나를 위해, 내 .htaccess 파일. 하지만 난 '때' 는 모든 it v2.03-00 포르바크레수르스 이네스.프프 renamed redhat. 사마세스.t스트 ',' 내 문제가 해결되었습니다.