Кеширование прокси с кешем могу прайм

Скажем, у меня есть сайт происхождения и структура медиа, например:

https://watch.example.com/2017-04-06/training.mp4, который представляет собой статический 5 ГБ, который никогда не изменится.

Теперь, в удаленном месте с очень плохим интернетом, я хочу предоставить кеширующий прокси-сервер, который монтирует диск 4 ТБ (который я отправил заранее), в котором эти файлы находятся в каталоге, таком как /media/2017-04-06/training.mp4поэтому при обращении к http://cache.local/2017-04-06/training.mp4 воспроизводится локально кэшированное содержимое. В случае сбоя прокси-сервер кэширования может загрузить файл с https://watch.example.com/2017-04-06/training.mp4 или клиент медиаплеера может быть закодирован для возврата к каноническому https://watch.example.com/2017-04-06/training.mp4.

Поэтому после исследования nginx, к сожалению, он сохраняет содержимое и заголовки в расположении md5sum по адресу proxy_cache_path, что делает мою цель предварительно кэшировать или заполнить кэш на диске трудно.

Есть ли еще какое-то более простое решение, которое мне не хватает?

1 ответ

Решение

Примерно так должно работать:

server {
  server_name example.com;
  root /media;

  location / { try_files $uri $uri/ @backend; }

  location @backend {
    proxy_pass http://watch.example.com;
  }
}

Поскольку этот конфиг не будет кэшировать ничего, чего у него еще нет, но вы можете добавить в соответствующий proxy_cache настройки, если хотите.

Другие вопросы по тегам