Я использую Nginx в качестве файлового сервера / медиасервера, обслуживающего файлы * .mpd / * .mp4. Сервер выдает ошибку 404 (файл не найден) случайным образом, но файл существует на диске.
Вот моя конфигурация nginx:
server {
listen 443 ssl http2 backlog=8192;
listen [::]:443 ssl http2;
keepalive_timeout 70;
add_header Access-Control-Allow-Origin *;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_certificate <my_certfificate>;
ssl_certificate_key <my_certificate_key>;
ssl_stapling on;
ssl_stapling_verify off;
ssl_dhparam <my_dhparam>;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
server_name example.com;
client_max_body_size 1024M;
location / {
alias /data/media/;
sendfile on;
sendfile_max_chunk 2m;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
autoindex on;
}
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /etc/letsencrypt;
}
}
Я пробовал это с autoindex off
и с опциями ниже, но результат все тот же:
location / {
mp4;
mp4_buffer_size 4M;
mp4_max_buffer_size 10M;
open_file_cache off;
alias /data/media/;
autoindex on;
}
Файлы MPD & MP4 сделаны Shaka Packager (это живое телевидение). Я обнаружил, что перезапуск Nginx помог, но это не очень хорошее решение, потому что, как я уже сказал, это живое телевидение. У кого-нибудь есть подобный опыт или кто-нибудь знает, как это исправить, пожалуйста?
Спасибо!