Кеш тегов видео html5

У нас запущен симпатичный ванильный сервер Centos 7 LAMP (Apache 2.4 с mod_pagespeed PHP 5.6, MariaDB 5.5), и недавно мы начали встраивать html5-видео на фоне некоторых страниц в соответствии с кодом:

<video class="banner-video" loop autoplay poster="img/poster.jpg">
    <source src="videos/intro.mp4" type="video/mp4">
</video>

Видео работает, как ожидалось , и автоматический цикл, как и ожидалось, большинство наших клиентов загружают видео один раз и перезагружают видео из кеша после первого запуска, но у нас есть некоторые клиенты (на данный момент я насчитываю 3), которые продолжают повторную загрузку каждый раз после при первом запуске, и это довольно быстро уносит нашу полосу пропускания (иногда один и тот же IP-адрес загружает один и тот же видеофайл размером 7 МБ на 35 ГБ).

Я почти уверен, что такое поведение не является вредоносным (по крайней мере, в этом случае я готов поверить, что это некоторая неправильная конфигурация на их прокси-сервере или что-то подобное), поэтому я ищу способы ограничить используемую полосу пропускания по одному IP-адресу или чтобы лучше информировать клиентский браузер о кешировании видеофайла, мы уже пытались использовать эту конфигурацию на виртуальном хосте apache и через .htaccess, и, похоже, это не имеет значения.

<FilesMatch "\.(mp4)">
    Header set Cache-Control "max-age=604800, must-revalidate"
</FilesMatch>

Я уже тестировал перенос видеофайла на другой сервер с другой конфигурацией (еще более ванильный Centos 6.6 LAMP), чтобы проверить, не произошла ли некоторая неправильная конфигурация с нашей стороны

, поэтому мой вопрос: есть ли простой способ заблокировать с помощью конфигурации apache (временно на 24 часа или, возможно, на одну неделю) только загрузку файл по определенным IP-адресам после, скажем, 10 загрузок, сохраняя при этом возможность загрузки остальной части сайта?

или есть лучший способ сообщить клиенту, чтобы он следовал правилам кеширования?

Я, вероятно, мог бы написать Сценарий PHP, который подсчитывал количество загрузок файла и отвечал 403 в случае, если он был загружен более X раз с одного и того же IP-адреса, но я не думаю, что это решение является оптимальным.

согласно журналам apache наш клиент работает под управлением windows 10 x64 с google chrome 48 (возможно, это известная ошибка)

1
задан 27 February 2016 в 06:01
1 ответ

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

Мне удалось воспроизвести проблему с плохо настроенным кальмаром сервер, действующий как прокси.

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

Общее впечатление от клиента. практически ничего не меняется, потому что, поскольку мы размещаем видеофайлы только на дешевом сервере, мы не платим высокую цену за задержку для каждого файла, а только за запрос к видео.

0
ответ дан 4 December 2019 в 06:36

Теги

Похожие вопросы