urmic_digital_encoder_decoder/default_nginx_site

87 lines
1.8 KiB
Plaintext
Executable File

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /var/www/html;
index index.html index.htm;
# Performance
sendfile on;
tcp_nopush on;
tcp_nodelay on;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Global CORS
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
add_header Access-Control-Allow-Headers "*" always;
add_header Access-Control-Expose-Headers "Content-Length,Content-Range" always;
# OPTIONS requests
location / {
if ($request_method = OPTIONS) {
return 204;
}
autoindex on;
try_files $uri $uri/ =404;
}
# =========================
# HLS
# =========================
location /hls/ {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header Cache-Control "no-cache";
add_header Accept-Ranges bytes;
add_header Content-Disposition inline;
gzip off;
try_files $uri =404;
}
# =========================
# DASH
# =========================
location /dash/ {
types {
application/dash+xml mpd;
video/mp4 mp4 m4s;
}
add_header Cache-Control "no-cache";
add_header Accept-Ranges bytes;
add_header Content-Disposition inline;
gzip off;
try_files $uri =404;
}
# gzip only manifests
location ~* \.(m3u8|mpd)$ {
gzip on;
gzip_types application/vnd.apple.mpegurl application/dash+xml;
}
# Security
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}