Корректный редирект статики на CDN

artcrazy
На сайте с 20.03.2010
Offline
81
913

Всем добрый день!

Помогите, пожалуйста, с вопросом. Решил вывести статику (пока только изображения) на cdn.

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

В конфиге nginx не удается создать корректный редирект:

http://tools.pingdom.com/fpt/#!/dJ4DX1/http://www.arteferro.ru/

получается лишних 34 запроса на сервер по 0 байт...

Пробовал:

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
rewrite ^/images(.*) http://cdn.arteferrorussia.org/images$1 last;
}

и

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
rewrite ^/images(.*) http://cdn.arteferrorussia.org/$request_uri?
permanent;
}

Но везде эти лишние запросы на сервер по 0 байт. Подскажите - кто как реализовывал вывод статики?

Конечно, как вариант - это в коде сайта конкретно на новый домен прописать все ссылки статики, но это крайне неудобно.

servercraft
На сайте с 03.07.2013
Offline
8
#1

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

rewrite ^ http://cdn.arteferrorussia.org/$request_uri? permanent;

access_log off;

}

http://serverсraft.com.ua (http://servercraft.com.ua) настраиваем сервера, удаляем вирусы с сайтов
Andron_buton
На сайте с 19.07.2007
Offline
270
#2

servercraft, это что было? Зачем ТСу проксирование, если он наоборот хочет трафик разнести?

artcrazy, картинки только из директории images надо раздавать с другого хоста, стурктура там идентичная основному хосту?

как-то так должно заработать:

rewrite ^/images/(.*)$ http://cdn.arteferrorussia.org/images/$1 permanent;
IL
На сайте с 20.04.2007
Offline
435
#3
artcrazy:
Но везде эти лишние запросы на сервер по 0 байт. Подскажите - кто как реализовывал вывод статики?
Конечно, как вариант - это в коде сайта конкретно на новый домен прописать все ссылки статики, но это крайне неудобно.

Т.е. Вы в SRC указываете старый адрес (не CDN), и при этом хотите, чтобы браузер не обращался по старому адресу? о_О

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

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
artcrazy
На сайте с 20.03.2010
Offline
81
#4
Andron_buton:

artcrazy, картинки только из директории images надо раздавать с другого хоста, стурктура там идентичная основному хосту?
как-то так должно заработать:

Да, структура там идентичная основному хосту.

Не хочет работать и все тут...

С вашим вариантом также - 34 лишних запроса на сервер, по 0 байт каждый:

http://tools.pingdom.com/fpt/#!/JWNMJ/http://www.arteferro.ru/

Сайт хоть и грузится довольно быстро, но все лишнее изрядно напрягает..

Andron_buton
На сайте с 19.07.2007
Offline
270
#5
artcrazy:
С вашим вариантом также - 34 лишних запроса на сервер, по 0 байт каждый:

34 это Вы как считаете? Или это уВас на странице 34 картинки, так все правильно должно быть 34 редиректа, то есть вначале 34 запроса придут на основной хост, потом эти же 34 - на CDN, ivan-lev уже объяснил почему.

artcrazy
На сайте с 20.03.2010
Offline
81
#6
ivan-lev:
Т.е. Вы в SRC указываете старый адрес (не CDN), и при этом хотите, чтобы браузер не обращался по старому адресу? о_О
Он ведь не телепат, пока не обратится - не узнает, что его редиректнули.

Но опять же - эти пустые запросы лишнюю нагрузку на сервер и браузер клиента - вследствие чего ускорения из-за использования CDN никакого.

То есть единственное решение вопроса: прописываем прямые ссылки на CDN сразу в коде сайта?

А если CDN сменится, то снова переписывать?

Т.е. тот же Амазон:

http://tools.pingdom.com/fpt/#!/6wGl5/amazon.com

Все ручками в код прописывают под определенный CDN, а не разносят статику автоматом?

Там штук 10 CDN насчитал у них как минимум

Andron_buton:
34 это Вы как считаете? Или это уВас на странице 34 картинки, так все правильно должно быть 34 редиректа, то есть вначале 34 запроса придут на основной хост, потом эти же 34 - на CDN, ivan-lev уже объяснил почему.

Да, картинки. Но я описал выше, что от пустых редиректов выигрыша в загрузке сайта мы не получим у клиента

IL
На сайте с 20.04.2007
Offline
435
#7
artcrazy:
Но я описал выше, что от пустых редиректов выигрыша в загрузке сайта мы не получим у клиента

Значит не нужно использовать "пустые" редиректы.

Исправьте пути к картинкам на абсолютные с CDN (для начала - хотя бы в шаблоне).. и посмотрите на эффект. Уверяю, "пустые" запросы /для исправленных картинок/ уйдут :D

Andron_buton
На сайте с 19.07.2007
Offline
270
#8
artcrazy:
Но опять же - эти пустые запросы лишнюю нагрузку на сервер и браузер клиента - вследствие чего ускорения из-за использования CDN никакого

Ну, так "0-вые запросы" это все же меньше, чем даже несколько кб картинки, а если там не картинка, а видео? Да и редиректы для нгинкса никакой нагрузки не создают, другое дело, что на все эти "гуляния" с редиректами уходит чуть больше времени, чем напрямую, зато есть возможность быстро без копания в кодах CMS снизить IO нагрузку на основном сервере.

artcrazy
На сайте с 20.03.2010
Offline
81
#9

Понял свое заблуждение. Спасибо, парни! )

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