Кэшированное изображение отображается, может ли кто-нибудь дать мне решение - PullRequest
0 голосов
/ 04 июня 2018

Ранее у меня было изображение с размерами (675 * 774), и я обновил изображение с разрешением 250 * 250, но оно все еще показывает старое изображение.https://shop.olamsvi.com/pub/media/catalog/category/Picture1_2.png

Когда я загружаю одно и то же изображение с ?<random_number>, обновленное изображение отображается с размерами (250 * 250) https://shop.olamsvi.com/pub/media/catalog/category/Picture1_2.png?22

Я удалил кеш браузера и также проверил в режиме инкогнито.

Может кто-нибудь сказать, в чем может быть проблема.

Извините за мой плохой английский.

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Очевидно, что Varnish кэширует обратный прокси-сервер HTTP перед вашим сервером Apache, который обслуживает кэшированную копию образа (поскольку он был настроен для этого).

ВыМожно заметить, что из заголовков ответа HTTP:

 $  curl -v -s https://shop.olamsvi.com/pub/media/catalog/category/Picture1_2.png -o file.png
*   Trying 52.163.125.20...
* TCP_NODELAY set
* Connected to shop.olamsvi.com (52.163.125.20) port 443 (#0)
...
> GET /pub/media/catalog/category/Picture1_2.png HTTP/1.1
> Host: shop.olamsvi.com
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Mon, 04 Jun 2018 11:52:41 GMT
< Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips PHP/7.0.21
< Content-Length: 410771
< Accept-Ranges: bytes
< Access-Control-Allow-Origin: *
< X-Frame-Options: SAMEORIGIN
< X-Varnish: 41773
< Age: 0
< Via: 1.1 varnish (Varnish/5.2)
< X-Original-Content-Length: 561788
< Etag: W/"PSA-aj-giNrXrkKdK"
< Expires: Fri, 22 Mar 2019 05:53:09 GMT
< Cache-Control: max-age=25120827, public
< X-Content-Type-Options: nosniff
< Content-Type: image/png
<
{ [16384 bytes data]
* Connection #0 to host shop.olamsvi.com left intact

Не строки Via: 1.1 varnish (Varnish/5.2) и Expires: Fri, 22 Mar 2019 05:53:09 GMT.Обычно очень полезно кешировать ваши статические ресурсы, но вы также должны подумать о том, как как сделать его недействительным (и когда это делать)

0 голосов
/ 04 июня 2018

Пожалуйста, вы видите этот ответ?

<IfModule mod_expires.c> 
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 86400 seconds"
  ExpiresByType application/x-javascript "access plus 86400 seconds"
</IfModule>

https://stackoverflow.com/a/13029007/4553685

Может быть, это поможет вам

...