Я получаю следующее сообщение об ошибке на моей хромированной консоли:ERR_CONTENT_LENGTH_MISMATCH на Nginx и прокси на Chrome при загрузке больших файлов
GET http://localhost/grunt/vendor/angular/angular.js net::ERR_CONTENT_LENGTH_MISMATCH
Это происходит только тогда, когда одновременных запросов застрелены в направлении Nginx, например, когда кеш браузеров пуст и загружается все приложение. Загрузка ресурса выше при успешном выполнении одного запроса.
Вот заголовки к этим запросам, скопированных из Chrome:
Remote Address:127.0.0.1:80
Request URL:http://localhost/grunt/vendor/angular/angular.js
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,de;q=0.6,pl;q=0.4,es;q=0.2,he;q=0.2,gl;q=0.2
Cache-Control:no-cache
Connection:keep-alive
Cookie:gs_u_GSN-265185-D=1783247335:2567:5000:1377697930719
Host:localhost
Pragma:no-cache
Referer:http://localhost/grunt/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.122 Safari/537.36
Response Headersview source
Accept-Ranges:bytes
Cache-Control:public, max-age=0
Connection:keep-alive
Content-Length:873444
Content-Type:application/javascript
Date:Tue, 23 Sep 2014 11:08:19 GMT
ETag:"873444-1411465226000"
Last-Modified:Tue, 23 Sep 2014 09:40:26 GMT
Server:nginx/1.6.0
реальный размер файла:
$ ll vendor/angular/angular.js
-rw-rw-r-- 1 xxxx staff 873444 Aug 30 07:21 vendor/angular/angular.js
Как вы можете видеть Content-Length
и реальный размер файла являются то же самое, так что это странно
И конфигурация nginx для этого прокси:
location /grunt/ {
proxy_pass http://localhost:9000/;
}
Любые идеи?
Благодаря
EDIT: найдено больше информации о журнале ошибок:
2014/09/23 13:08:19 [crit] 15435#0: *8 open() "/usr/local/var/run/nginx/proxy_temp/1/00/0000000001" failed (13: Permission denied) while reading upstream, client: 127.0.0.1, server: localhost, request: "GET /grunt/vendor/angular/angular.js HTTP/1.1", upstream: "http://127.0.0.1:9000/vendor/angular/angular.js", host: "localhost", referrer: "http://localhost/grunt/"
Спасибо за подсказку, я столкнулся с этим с моим HomeBrew nginx после обновления до El Capitan –
Я рад, что это все еще полезно! – amit
В случае, если кто-либо все еще сталкивается с этой проблемой - вам может потребоваться дважды проверить пользователя, под которым запущен 'nginx'. В моем случае папка имела правильные разрешения и права собственности, но просто nginx запускался под 'nobody.nobody'. – tftd