Кэширование: зацикливается на 301 при получении статических картинок
squirl
andriy.tovstik на gmail.com
Сб Янв 16 13:58:35 MSK 2010
Здравствуйте.
Пытаясь разгрузить некоторый проект, сделал следующим образом:
----
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 10M;
sendfile on;
proxy_redirect off;
proxy_next_upstream timeout error http_500 http_503;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_path /home/nginx/cache levels=1:2 keys_zone=mycache:50m;
proxy_temp_path /home/nginx/temp_cache_path;
<..skip...>
server {
listen *:80;
server_name rtkorr.com www.rtkorr.com rtkor.com www.rtkor.com rtcorr.com www.rtcorr.com rtkorr.net www.rtkorr.net;
access_log /home/nginx/log/rtkorr.com-access.log;
proxy_read_timeout 10;
error_log /home/nginx/log/rtkorr.com-error.log;
location / {
proxy_cache rtkorr;
proxy_cache_valid 200 30s;
proxy_pass http://mycache;
}
location ~* /(manager|register|cabinet|captcha|comments|ajax) {
proxy_pass http://mycache;
}
location ~* \.(gif|jpg|jpeg)$ {
access_log /home/nginx/log/rtkorr.com-img.access.log;
error_log /home/nginx/log/rtkorr.com-img.error.log;
proxy_cache mycache;
proxy_cache_valid 200 301 304 302 15m;
proxy_pass http://rtkorr_com;
error_page 404 502 503 504 = @fallback;
}
location @fallback {
expires 0;
add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
add_header Pragma "no-cache";
empty_gif;
}
}
-------
Возникла следующая проблема: некоторые картинки не отображаются. при попытке открыть их в браузере - отдается:
"Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится."
firebug показывает несколько раз подряд отдающийся 301, после чего обрывает попытки. Пример картинки:
http://www.rtkorr.com/imgs/ico_rss.gif
Т. е. где-то я с кэшированием намудрил, ибо напрямую из апача отдается нормально. Где я неправ?
---
WBR, Andriy Tovstik
UNIX System Administrator
Skype: andriy.tovstik
JabberID: squirl на jabber.kiev.ua
Nick-handle: SQ22-UANIC
Подробная информация о списке рассылки nginx-ru