Хотлинкинг для nginx и кэширование. Проблема в конфиге.

Likvik
На сайте с 29.07.2010
Offline
132
1646

Добрый день.

Прошу помочь разобраться.

Сервер/сайт работает в связке - FastCGI (Nginx + PHP-FPM)

Кэширование настроено в конфиге Nginx.

Появилась потребность прописать защиту Хотлинкинг. Реализовал так:


location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
valid_referers none blocked server_names ~(life4news|yandex|google|yahoo|bing|facebook|subscribe|feedburner|mail|rambler|nigma|ask|qip|bing);
if ($invalid_referer) {
return 403;
}
error_page 404 = @fallback;
}

Проблема в том, что после того как в конфиг Nginx прописать защиту Хотлинкинг перестает работать это самое кэширование, как показывает gtmetrix.

Чтото в конфиге не так, гугление и изучение форума по помогло.

Надеюсь на помощь форумчан.

Вот конфиг, почистил только сайт и IP


server {
server_name САЙТ www.САЙТ;
charset off;
index index.php;
disable_symlinks if_not_owner from=$root_path;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/САЙТ/*.conf;
access_log /var/www/httpd-logs/САЙТ.access.log;
error_log /var/www/httpd-logs/САЙТ.error.log notice;
ssi on;
set $root_path /var/www/***/data/www/САЙТ;
root $root_path;
gzip on;
gzip_comp_level 5;
gzip_types text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
add_header Strict-Transport-Security "max-age=31536000;";
location / {
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

location = /rss.xml {
rewrite ^ /index.php?q=rss.xml;
}
location = /sitemap.xml {
try_files $uri /index.php?q=sitemap.xml;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
valid_referers none blocked server_names ~(|yandex|google|yahoo|bing|facebook|subscribe|feedburner|mail|rambler|nigma|ask|qip|bing);
if ($invalid_referer) {
return 403;
}
error_page 404 = @fallback;
}
# BEGIN W3TC Browser Cache
location ~ \.(css|js|htc)$ {
expires 31536000s;
add_header Pragma "public";
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location ~ \.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$ {
expires 3600s;
add_header Pragma "public";
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location ~ \.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$ {
expires 31536000s;
add_header Pragma "public";
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}

}
Незнание порождает уверенность.
S
На сайте с 17.08.2008
Offline
114
#1

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {

вот сюда добавь


#Кеширум картинки месяца на 4
expires 4M;
#Кешируем везде (и на прокси и на клиентах)
add_header Cache-Control public;
Likvik
На сайте с 29.07.2010
Offline
132
#2

Насколько я смог понять перестало кэшироваться *.png и *.jpg.

---------- Добавлено 28.09.2016 в 11:47 ----------

smbbws:
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {

вот сюда добавь

Спасибо большое!

Все работает, и кэш и защита

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий