У меня два сервера настроены почти одинаково. Один - мой рабочий сервер, а другой - мой промежуточный сервер. Конфигурация nginx на обоих является копиями друг друга, за исключением имени сервера (и везде, где я использую имя сервера)
Вот конфиг с моего промежуточного сервера.
server {
listen 80;
server_name *.johnvarghese.info johnvarghese.info;
return 301 https://$host$request_uri;
}
server {
listen 443;
ssl on;
ssl_certificate /etc/johnvarghese.info.ssl/star.johnvarghese.info.bundle.crt;
ssl_certificate_key /etc/johnvarghese.info.ssl/star.johnvarghese.info.key;
server_name support.johnvarghese.info;
return 301 "$scheme://johnvarghese.info/support${request_uri}";
}
server {
listen 443;
ssl on;
ssl_certificate /etc/johnvarghese.info.ssl/star.johnvarghese.info.bundle.crt;
ssl_certificate_key /etc/johnvarghese.info.ssl/star.johnvarghese.info.key;
server_name *.johnvarghese.info johnvarghese.info;
passenger_ruby /usr/local/rvm/gems/ruby-2.1.0/wrappers/ruby;
passenger_enabled on;
root /var/www/johnvarghese.info/current/public;
location ~* \.(mp4|ogg|webm)$ {
expires 10d;
add_header Cache-Control "max-age=864000";
}
}
Промежуточный сервер называется johnvarghese.info. На рабочем сервере я заменил все экземпляры johnvarghese.info на servername.com.
Интересующие меня строки - это последние три строки в конфиге - я просто хочу кэшировать видеофайл webm (который я повторяю при воспроизведении в цикле). Отлично работает на промежуточном сервере. Как только видео загружено, я могу отключить беспроводную сеть на моем ноутбуке, и видео постоянно зацикливается, и дальнейшая загрузка не требуется. Код ответа в консоли - 206 каждый раз, начиная со второго раза. Сервер больше не поражен.
На рабочем сервере сервер срабатывает каждый раз, когда видео зацикливается. Код ответа - 304 (без изменений). Если я выключаю беспроводную сеть на своем ноутбуке, когда видео завершает текущее воспроизведение, оно останавливается, потому что не может загрузить его снова для повторения.
Почему такая же конфигурация
location ~* \.(mp4|ogg|webm)$ {
expires 10d;
add_header Cache-Control "max-age=864000";
}
работать по-разному на этих одинаково настроенных серверах? Я хочу, чтобы рабочий сервер работал так же, как промежуточный сервер. Что я должен делать?
Спасибо