Safari не распаковывает gzip содержание, когда Довольное Кодирование является gzip, gzip

Safari для OSX, iOS и Windows имеет распаковку проблем содержание Gzip на моем сервере после недавней перестройки сервера.

Я переместился с 1 сервера с Apache и PHP5-FPM к 3 серверам. Подсистема балансировки нагрузки и два сервера, выполняющие HHVM, все использование Nginx.

Я не могу определить то, что вызывает проблему распаковки. Это последовательно происходит на тех же документах, но несовместимо всюду по веб-сайту.

Этот поток прекрасные загрузки.
https://kiwifar.ms/threads/sun-tzus-the-art-of-war.11304/

Этот поток не делает.
https://kiwifar.ms/threads/andrew-dobson-aka-tom-preston.1933/page-590

То, что я получаю вместо этого на Safari, довольно, что это похоже на это.

����z�H�6xl]E6�//S�.j�Ey��]���r�����H�$J �@-]����%̥͕���@)R�$چ�,a�-22222ތÿ<����^�Q4v����p���?l���%�Zް]�����%�w�v����%�s�0l�>L�����_B����vp�������ہx��v������ݵ���{n� ���W;��^���bd��|׵&�����!=@j�{��-���;    ��Gܫ�Q���?�V�   �:�]�v�)&�Ж׍�8�^�p�m�FQ4yX����UV����I�珫�Zm�:���¶�G[[[w]�*F�=h��ձu��{���(�&tCi���3;��vu�ҬԪ�0L=��|�%�n�R%ÑmG%QE��b(��2�}�͚8!������q/��'���G

Это только происходит в Safari.

Хром? Работы. Google Chrome? Работы. IE10? Работы. Mozilla? Работы. Opera? Работы. IceWeasle? Работы. Android Chrome? Работы. Браузер дельфина? Работы.

Я позволил отладить в Safari. Вот заголовки ответа.

Safari для Windows

Cache-Control:private, max-age=0
CF-RAY:20f2a2c627ff22ac-LAX
Connection:keep-alive
Content-Encoding:gzip, gzip
Content-Type:text/html; charset=UTF-8
Date:Sat, 01 Aug 2015 15:39:27 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Server:cloudflare-nginx
Transfer-Encoding:Identity
Vary:Accept-Encoding, Accept-Encoding
X-Frame-Options:SAMEORIGIN
X-Powered-By:HHVM/3.8.1

Для контраста вот Хром, который работает.

Хром (Работа)

cache-control:private, max-age=0
cf-ray:20f2a3b04a8d13c5-LAX
content-encoding:gzip
content-encoding:gzip
content-type:text/html; charset=UTF-8
date:Sat, 01 Aug 2015 15:40:05 GMT
expires:Thu, 19 Nov 1981 08:52:00 GMT
server:cloudflare-nginx
status:200 OK
vary:Accept-Encoding
vary:Accept-Encoding
version:HTTP/1.1
x-frame-options:SAMEORIGIN
x-powered-by:HHVM/3.8.1

Это - тот же самый документ. Единственная разница, кажется, что Safari отправляет "активный", который не присутствует в Хроме. Возможно, это - то, почему это никогда не распаковывает? Это никогда не прекращает ожидать большего количества материала gzip?

Nginx конфигурируются для Gzip. Это относится ко всем трем серверам (и подсистема балансировки нагрузки и узлы)

    gzip on;
    gzip_disable "msie6";

    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 32 8k;
    gzip_http_version 1.1;
    gzip_types text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;


    proxy_buffering off;

Кроме того, вот конфигурация загрузки.

    upstream fruitbasket {
            server lime:443 weight=10;
            server lemon:443 weight=3;
    }

Я попробовал каждую мыслимую конфигурацию для фиксации этого, но ничто не помогло.

Редактирование 1: После просмотра заголовков ответа всех других браузеров, Keep-Alive Я упомянул, не был найден ни в одном из них.

Редактирование 2: Я могу подтвердить, что проблема Content-Encoding:gzip, gzip. Любая страница с синглом gzip загрузки. Safari не знает, что сделать с этим типом кодировки.

2
задан 1 August 2015 в 19:43
1 ответ

Моя проблема была конкретной. XenForo поддерживает автоматический gzip как параметр конфигурации на уровне приложения. Если у вас возникла эта проблема, убедитесь, что ваше приложение также не выполняет gzip до того, как достигнет вашего сервера.

https://xenforo.com/help/config-php-options/

1
ответ дан 3 December 2019 в 12:45

Теги

Похожие вопросы