При обновлении изображения оно отображается неправильно - PullRequest
0 голосов
/ 22 мая 2019

Действия по воспроизведению

  1. Очистить кеш сайта (admin / settings / performance)
  2. Открыть режим инкогнито или использовать другой браузер (хотя это анонимный пользователь)
  3. Перейти к URL-адресу изображения: https://example.com/art/img/full_size/cb51c35d2d674bc31655787be37b48e4.jpg

Результат: изображение отображается в соответствии с ожидаемым результатом Заголовок:

Content-Type: image/jpeg
Обновить страницу («Очистить кэш и выполнить полную перезагрузку»)

Результат: изображение отображается неправильно enter image description here Результат заголовка:

Content-Type: text/html; charset=utf-8
ETag: "5e856cdea9f3340761c05a75f286724f"

Это заголовок запроса / ответа (части, которые совпадают между двумя запросами)

Request URL: https://example.com/art/img/full_size/cb51c35d2d674bc31655787be37b48e4.jpg
Request Method: GET
Status Code: 200 OK
Remote Address: xx.xx.xx.xx:443
Referrer Policy: no-referrer-when-downgrade
Connection: Keep-Alive 
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips PHP/5.6.40
Strict-Transport-Security: max-age=31536000; includeSubdomains;
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.40
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Cookie: SESSxxxxxxxxxxxxxx
DNT: 1
Host: example.com
Pragma: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
Last-Modified: Wed, 22 May 2019 15:21:24 GMT
Date: Wed, 22 May 2019 15:21:24 GMT

Попытка:

  • Восстановление разрешений: admin / content / node-settings
  • Изменение настроек кеша: admin / settings / performance
    • Сжатие страницы с включенного на отключенное
    • Блокировка кеша с включенного на отключенное

Информация

  • Метод загрузки: Личный
  • Путь к файловой системе: / var / storage / files / drupal
  • Временный каталог: / tmp
  • Использование чистых URL-адресов
  • Похоже, это происходит только с анонимным пользователем
  • Запуск Drupal 6.38
  • Версия Memcached: 1.5.14
  • Apache на Redhat7

.htaccess файл

<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
  Order allow,deny
</FilesMatch>

Options -Indexes
Options +FollowSymLinks

ErrorDocument 404 /index.php

<Files favicon.ico>
  ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>

DirectoryIndex index.php index.html

<IfModule mod_php4.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

<IfModule sapi_apache2.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

<IfModule mod_php5.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
  php_value post_max_size                   300M
  php_value memory_limit                    5000M
  php_value upload_max_filesize             300M
  php_value max_execution_time              3600
  php_value session.hash_bits_per_character             4
  php_value session.save_path    "/var/lib/php"
  php_flag xcache.cacher 1
  php_flag xcache.optimizer 1
  php_value output_buffering On
  php_value output_handler mb_output_handler
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive On

  ExpiresByType image/jpeg A604800
  ExpiresByType image/gif A604800
  ExpiresByType image/png A604800
  ExpiresByType application/x-shockwave-flash A604800
  ExpiresByType audio/mpeg A604800

  ExpiresDefault A1
  Header unset Cache-Control
  Header append Cache-Control: "max-age=604800, public"

  ExpiresDefault A1209600

  <FilesMatch \.php$>
    ExpiresActive Off
  </FilesMatch>
  <filesMatch "\.(html|htm|php)$">
    Header unset Cache-Control
  </FilesMatch>
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
  RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
  RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
</IfModule>

<IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
        <FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
            SetEnvIf Origin ":" IS_CORS
            Header set Access-Control-Allow-Origin "*" env=IS_CORS
        </FilesMatch>
    </IfModule>
</IfModule>

<FilesMatch "\\.(js|css|html|htm|php|xml)$">
</FilesMatch>

файл settings.php

<?php

$db_url = 'mysql://user:pass@host/db';
$db_prefix = '';

$update_free_access = FALSE;

ini_set('arg_separator.output',     '&amp;');
ini_set('magic_quotes_runtime',     0);
ini_set('magic_quotes_sybase',      0);
ini_set('session.cache_expire',     200000);
ini_set('session.cache_limiter',    'none');
ini_set('session.cookie_lifetime',  2000000);
ini_set('session.gc_maxlifetime',   200000);
ini_set('session.save_handler',     'user');
ini_set('session.use_cookies',      1);
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid',    0);
ini_set('url_rewriter.tags',        '');
ini_set('error_reporting',          E_ALL);
ini_set('display_errors',           'stdout');
ini_set('register_long_arrays',     1);
ini_set('short_open_tag',           0);

$conf = array(
  'cache_inc' => '/var/www/html/live/sites/all/modules/contrib/memcache/memcache.inc',
  'memcache_servers' => array('localhost:11211' => 'default',),
  'memcache_bins' => array(
    'cache' => 'default', 
    'cache_filter' => 'default',
    'cache_menu' => 'default',
  ),
  'memcache_key_prefix' => 'example',
);

Пожалуйста, дайте мнемы знаем, нужна ли вам дополнительная информация.

...