Фокси Форум

Очередной ламповый форум для вебмастеров о seo, заработке в интернете, создании сайтов, дорвеях, партнерках, крипте, ботах и антиботах.

Mik Foxi Mik Foxi · UserID: 2 · Рег: 07.05.2020
Mik Foxi
Mik Foxi
UserID: 2
Рег: May 07, 2020
Тема: Проксирование и сохранение превьюшек YouTube на сайте.

Можно стандартное проксирование и кэширование NGINX сделать с

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=img_cache:10m max_size=1g inactive=24h use_temp_path=off;

Но это больше подходит для временного кэша, т.к. картинки в итоге хранятся хз где, в хз каком некрасивом формате и структуре:

А если хочется чтобы картинки стали частью сайта и на постоянно были закэшированы, то сохраню тут для истории такой конфиг Nginx:

# проверяем, есть ли файл локально

location ~ ^/youtube/([a-zA-Z0-9_-]+)\.jpg$ {

try_files /youtube/$1.jpg @proxy_to_youtube;

}

# если файл не найден, проксируем запрос

location @proxy_to_youtube {

resolver 8.8.8.8;

proxy_pass https://img.youtube.com/vi/$1/mqdefault.jpg;

proxy_read_timeout 3;

# Сохраняем файл локально

proxy_store on;

proxy_temp_path /tmp; # Временная папка для сохранения

# Настройки прокси

proxy_set_header Host img.youtube.com;

proxy_set_header X-Real-IP $remote_addr;

# Заголовки

add_header Cache-Control "public";

}

Если в первоисточнике видео нету, то и локально ничего не сохранит. Раньше в дорвеях использовал этот метод. Теперь просто чтоб локально закэшировать превью, и выводить превью ссылкой на видео. Так при замедлении ютуба РКНом в России страница с фреймом не будет тормозить загрузку всей страницы. Как пример в этой теме:

3 февраля 2025 в 21:20
Служба поддержки форума: Telegram: @MikFoxi, Email: admin@mikfoxi.com