проблемы с выдачей одной картинки апачем

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

Есть сайт, который разрабатывается на сервере локальной сети. После всей отладки переносится на хостинг.

И вот в последнее время стала происходить необъяснимая вещь. На дев-сервере под управлением Debian (Apache) одна картинка стала упорно заменяться другой .... (На продакт - всё в поряде)

Сейчас попробую объяснить.
По адреса www.mydomain.ru/img/smth1/img1.png открывается картинка из /img/smth2/img2.png.
И соответственно выводится на страничке не img1.png, а img2.png.

img1 выводится, если адрес www.mydomain.ru//img/smth1/img1.png (два слеша) вбить в адресную строку.

Ничем не лечится, кроме как взять, и переименовать img1.png в, например, img1.png.tmp, а затем обратно. Всё становится на свои места.

Хочу уточнить, что на странице с img1 полностью аналогичным образом выводятся и img2, img3 и т.д.
И всё с ними в порядке, кроме злополучной img1.

(пути, названия и всё такое вымышленное)

Объясните, пожалуйста, что за полтергейст за такой?

ЗЫ. Не уверен, что угадал с веткой форума ....
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: проблемы с выдачей одной картинки апачем

Сообщение eddy »

Запретите браузеру кешировать информацию, плюс проверьте, как работает ваш прокси.
У меня намедни был такой "прикол": битый час я возился с локальным форумом, меняя стиль, каждый раз после изменения жму ctrl+R - фигвам. Потом сбросил кэш браузера - заработало.
Ну, а если с кэшем все ОК, посмотрите логи апача и его конфигурацию: может быть, у вас виртуальные серверы как-то не так настроены?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

eddy писал(а):
05.04.2010 09:27
Запретите браузеру кешировать информацию, плюс проверьте, как работает ваш прокси.
У меня намедни был такой "прикол": битый час я возился с локальным форумом, меняя стиль, каждый раз после изменения жму ctrl+R - фигвам. Потом сбросил кэш браузера - заработало.
Ну, а если с кэшем все ОК, посмотрите логи апача и его конфигурацию: может быть, у вас виртуальные серверы как-то не так настроены?


Запрещал кэш, обновлял принудительно страницу. Прокси причём? Он отключён для этого адреса в firefox.

Вот с апачем ... как именно смотреть логи и конфигурацию? Как-то не так виртуальные серверы, это как? (Не, я правда не знаю, что копать ...)

Повторюсь, одна и та же картинка во всех случаях, одна из всех на странице ....
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: проблемы с выдачей одной картинки апачем

Сообщение arkhnchul »

а сама cms-ка сайта, если она есть - ничего там у себя не кеширует?
Losing is fun!
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

arkhnchul писал(а):
05.04.2010 10:14
а сама cms-ка сайта, если она есть - ничего там у себя не кеширует?


CMS не кеширует.
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

Позволю себе немного апнуть тему, заметив, что глюк проявляется после того, как заливаю изменения в subversion.
# svn add * --force
# svn commit
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: проблемы с выдачей одной картинки апачем

Сообщение sash-kan »

1. в логах апача записи по поводу этой картинки смотрели?
2. там, где это происходит, точно ли «голый» apache? посмотрите на ответ сервера (wget -SO /dev/null <url>)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
JwsD
Сообщения: 129
ОС: ArchLinux

Re: проблемы с выдачей одной картинки апачем

Сообщение JwsD »

Покажите логи апача, что он говорит когда качаете первую, и когда качаете вторую картинку.
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

sash-kan писал(а):
26.04.2010 11:15
1. в логах апача записи по поводу этой картинки смотрели?
2. там, где это происходит, точно ли «голый» apache? посмотрите на ответ сервера (wget -SO /dev/null <url>)


1.
# tail -f /var/log/apache2/other_vhosts_access.log

с одним слешем (www.mydomain.ru/img/smth1/img1.png)

www.mydomain.ru:80 192.168.10.3 - - [27/Apr/2010:09:01:17 +0600] "GET /img/smth1/img1.png HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7"

с двумя слешами (www.mydomain.ru//img/smth1/img1.png)

www.mydomain.ru:80 192.168.10.3 - - [27/Apr/2010:09:01:17 +0600] "GET //img/smth1/img1.png HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7"

в принципе ничем не отличается ....

2.
Ну да, «голый» apache. У хостера связка с nginx, а у меня только apache.

А с wget какая то непонятка, он через proxy почему-то идёт и качает из интернета, а не с dev-сервера, хотя в настройках гнома домен сайта включён в исключения.
Si vis pacem, para bellum.
Спасибо сказали:
JwsD
Сообщения: 129
ОС: ArchLinux

Re: проблемы с выдачей одной картинки апачем

Сообщение JwsD »

у wget подавить прокси, используется параметр --no-proxy, с ним попробуйте.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: проблемы с выдачей одной картинки апачем

Сообщение sash-kan »

Galaxy писал(а):
27.04.2010 07:18
304
вот вам и зацепка. разберитесь, почему возвращается не 200-й код, а 304-й.
на запрос других картинок тоже небось 304-й возвращается?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

sash-kan писал(а):
27.04.2010 09:30
Galaxy писал(а):
27.04.2010 07:18
304
вот вам и зацепка. разберитесь, почему возвращается не 200-й код, а 304-й.
на запрос других картинок тоже небось 304-й возвращается?

да, тоже
304 возвращается, потому что файл картинки не изменён
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: проблемы с выдачей одной картинки апачем

Сообщение sash-kan »

пробежался по нескольким сайтам. картинки возвращаются с кодом 200. значит, я ещё не очень отстал от жизни.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

sash-kan писал(а):
27.04.2010 12:26
пробежался по нескольким сайтам. картинки возвращаются с кодом 200. значит, я ещё не очень отстал от жизни.


проясните, пожалуйста, я что-то, видимо, не понимаю ...
Si vis pacem, para bellum.
Спасибо сказали:
JwsD
Сообщения: 129
ОС: ArchLinux

Re: проблемы с выдачей одной картинки апачем

Сообщение JwsD »

Galaxy писал(а):
27.04.2010 13:45
sash-kan писал(а):
27.04.2010 12:26
пробежался по нескольким сайтам. картинки возвращаются с кодом 200. значит, я ещё не очень отстал от жизни.


проясните, пожалуйста, я что-то, видимо, не понимаю ...

Поглядите какие заголовки отдает апач. Видать он получает if-modifed-since
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: проблемы с выдачей одной картинки апачем

Сообщение sash-kan »

Galaxy писал(а):
27.04.2010 13:45
проясните, пожалуйста, я что-то, видимо, не понимаю ...
нормальный ответ веб-сервера: 200-й код. да, бывает множество ситуаций, когда код другой.
почему на тривиальный запрос ваш сервер выдаёт 304-й код — непонятно.
кстати, это мы в логах увидели. а с точки зрения клиента как получается?
$ wget -SO /dev/null http://ваш_сервер/путь/к/той/самой/картинке
?

сразу и все отдаваемые заголовки увидите, про которые говорит уважаемый JwsD (правда, он речь о получаемых ведёт, но указанная команда не должна слать никаких заголовков).
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

В общем, вот:

# wget -SO /dev/null --no-proxy www.mydomain.ru/img/smth1/img1.png

ответ

--2010-04-28 09:03:42-- http://www.mydomain.ru/img/smth1/img1.png
Преобразование адреса www.mydomain.ru... 192.168.10.2
Устанавливается соединение с www.mydomain.ru|192.168.10.2|:80... соединились.
Запрос HTTP послан, ожидание ответа...
HTTP/1.1 200 OK
Date: Wed, 28 Apr 2010 03:03:42 GMT
Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-1+lenny8 with Suhosin-Patch
Last-Modified: Thu, 01 Apr 2010 08:07:18 GMT
ETag: "3ba0a5-7fcd-4832859f4f980"
Accept-Ranges: bytes
Content-Length: 32717
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: image/png
Длина: 32717 (32K) [image/png]
Сохраняется в каталог: `/dev/null'.

100%[===========================================================================>] 32 717 --.-K/s в 0,003s

2010-04-28 09:03:42 (11,8 MB/s) - `/dev/null' сохранён [32717/32717]

В логах апача в этот момент это:

www.mydomain.ru:80 192.168.10.3 - - [28/Apr/2010:09:03:42 +0600] "GET /img/smth1/img1.png HTTP/1.0" 200 32717 "-" "Wget/1.11.4"

Если эту же картинку пытаюсь загрузить браузером, в логах вот это:

www.mydomain.ru:80 192.168.10.3 - - [28/Apr/2010:09:05:04 +0600] "GET /img/smth1/img1.png HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7"
Si vis pacem, para bellum.
Спасибо сказали:
JwsD
Сообщения: 129
ОС: ArchLinux

Re: проблемы с выдачей одной картинки апачем

Сообщение JwsD »

Date: Wed, 28 Apr 2010 03:03:42 GMT
Last-Modified: Thu, 01 Apr 2010 08:07:18 GMT

О чем я и говорил. У тебя браузер отправляет запрос, if-modifed-since, после чего удостоверяется, что картинка не изменилась, берет ее из кеша своего.
304 Not Modified (Не изменялось)
Появился в HTTP/1.0.
Сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела.

Основная причина - это браузер. Почисти полностью всю историю, все кеши. Потом попробуй еще раз.
И да, у тебя эта картинка идет как jpg файл? или она генерится php?
ЗЫ можно попробовать не чистить кеш сначала, а просто обновить картинку, тоесть сделать так, чтобы ее дата изменения обновилась до текущей. И тогда попробовать ее еще раз посмотреть браузером.

Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

JwsD писал(а):
28.04.2010 10:19
Date: Wed, 28 Apr 2010 03:03:42 GMT
Last-Modified: Thu, 01 Apr 2010 08:07:18 GMT

О чем я и говорил. У тебя браузер отправляет запрос, if-modifed-since, после чего удостоверяется, что картинка не изменилась, берет ее из кеша своего.
304 Not Modified (Не изменялось)
Появился в HTTP/1.0.
Сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела.

Основная причина - это браузер. Почисти полностью всю историю, все кеши. Потом попробуй еще раз.
И да, у тебя эта картинка идет как jpg файл? или она генерится php?
ЗЫ можно попробовать не чистить кеш сначала, а просто обновить картинку, тоесть сделать так, чтобы ее дата изменения обновилась до текущей. И тогда попробовать ее еще раз посмотреть браузером.




Картинка png, не генерируется php.
Я доморощенным способом временного переименования файла так и меняю время его модификации/создания.
Просто как то неудобно это делать каждый раз после коммита. И проблема только с одной картинкой, вот что заинтересовало то.
Установил хромиум, в нём всё в порядке. Почему же файрфокс так себя ведёт - загадка.

В общем, беда на стороне клиента, а это уже не интересно.

Всем спасибо.
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: проблемы с выдачей одной картинки апачем

Сообщение sash-kan »

Galaxy писал(а):
28.04.2010 11:45
на стороне клиента
ctrl+f5
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: проблемы с выдачей одной картинки апачем

Сообщение Galaxy »

sash-kan писал(а):
28.04.2010 14:47
Galaxy писал(а):
28.04.2010 11:45
на стороне клиента
ctrl+f5


Galaxy писал(а):
05.04.2010 09:49
Запрещал кэш, обновлял принудительно страницу.


Помогло =)
Si vis pacem, para bellum.
Спасибо сказали: