87 lines
1.8 KiB
Plaintext
Executable File
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;
|
|
} |