Кеширование при аллиас в nginx

iccup
На сайте с 01.05.2016
Offline
195
603

Столкнулся с проблемой. Настроил алиасинг через nginx. Все выглядит так -


location /uploads/file/ {
alias /home/images/;
}
location / {
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @fallback;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
expires 1d;
try_files $uri $uri/ @fallback;
}

location / {
try_files /does_not_exists @fallback;
}
}

И поле этого Кеширование картинок перестало работать, и правильно, ngix то берет их уже с папки /home/images/. Как ему объяснить что кешировать надо еще и эти картинки?

kimsufi.com ( https://www.kimsufi.com ) очень дешевые и качественные дедики https://clck.ru/gvF9p - антибот, использую уже 3 года.
infant
На сайте с 15.03.2008
Offline
170
#1

Через проксирование делай. Например

	location /uploads/file/img {

proxy_pass http://localhost:8089;
proxy_cache_valid 30d;
proxy_cache_valid 404 60m;
proxy_cache_revalidate on;
proxy_http_version 1.1;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTPS YES;
}

и location для прокси

server {

listen 8089;
listen [::]:8089;
server_name localhost;
root /home/images;

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
expires 1d;
try_files $uri $uri/ @fallback;
}

error_page 404 /404.jpg;
location = /404.jpg {
empty_gif;
}

location = /empty {
empty_gif;
}
}

Как то так, если схематично

iccup
На сайте с 01.05.2016
Offline
195
#2

я не разбираюсь в проксировании, не понял что и куда писать

infant
На сайте с 15.03.2008
Offline
170
#3

тогда лучше найми специалиста, 5-10$ он тебе сделает по быстрому.

M
На сайте с 17.09.2016
Offline
124
#4

Вам нужно кешировать только картинки ?

Если можно кешировать всё, что тут

location /uploads/file/ {

alias /home/images/;

}

Добавьте сюда expires 1d;

---------- Добавлено 06.08.2018 в 11:45 ----------

infant, ТС'а интересует кеширование в браузере, путём заголовка Expires

Кеширование nginx тут не при чём

iccup
На сайте с 01.05.2016
Offline
195
#5

могли бы и написать что первая часть идет в конф хоста, а вторая в основной. Но и на том спасибо.

---------- Добавлено 06.08.2018 в 12:03 ----------

Mobiaaa:
Вам нужно кешировать только картинки ?
Если можно кешировать всё, что тут
location /uploads/file/ {
alias /home/images/;
}
Добавьте сюда expires 1d;

---------- Добавлено 06.08.2018 в 11:45 ----------

infant, ТС'а интересует кеширование в браузере, путём заголовка Expires
Кеширование nginx тут не при чём

Работает как вариант указанный infant, так и ваш. Ну, ваш попроще будет. почему-то не дает вам повысить репу, пишет что-то

Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его Mobiaaa.
infant
На сайте с 15.03.2008
Offline
170
#6

Mobiaaa, Погляди его код, у него стоит expires для локейшенов картинок.

Спасибо за поправку, чет не подумал, увидел, что стоит expires и посчитал, что ТС спрашивает про серверный кеш.

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