76 lines
2.7 KiB
Plaintext
76 lines
2.7 KiB
Plaintext
|
server {
|
||
|
listen 80;
|
||
|
|
||
|
server_name ffplayout.local;
|
||
|
|
||
|
gzip on;
|
||
|
gzip_types text/plain application/xml text/css application/javascript;
|
||
|
gzip_min_length 1000;
|
||
|
|
||
|
charset utf-8;
|
||
|
|
||
|
client_max_body_size 7000M; # should be desirable value
|
||
|
|
||
|
add_header X-Frame-Options SAMEORIGIN;
|
||
|
add_header X-Content-Type-Options nosniff;
|
||
|
add_header X-XSS-Protection "1; mode=block";
|
||
|
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
|
||
|
|
||
|
location / {
|
||
|
if ($http_origin ~ '^https?://(localhost|ffplayout\.local)') {
|
||
|
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
|
||
|
add_header 'Access-Control-Allow-Credentials' 'true' always;
|
||
|
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
|
||
|
add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Requested-With' always;
|
||
|
}
|
||
|
|
||
|
if ($request_method = OPTIONS ) {
|
||
|
add_header 'Access-Control-Max-Age' 1728000;
|
||
|
add_header 'Content-Type' 'text/plain charset=UTF-8';
|
||
|
add_header 'Content-Length' 0;
|
||
|
return 204;
|
||
|
}
|
||
|
|
||
|
root /var/www/ffplayout-frontend/;
|
||
|
}
|
||
|
|
||
|
location ~ ^/(api|auth) {
|
||
|
if ($http_origin ~ '^https?://(localhost|ffplayout\.local)') {
|
||
|
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
|
||
|
add_header 'Access-Control-Allow-Credentials' 'true' always;
|
||
|
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
|
||
|
add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Requested-With' always;
|
||
|
}
|
||
|
|
||
|
add_header Last-Modified $date_gmt;
|
||
|
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
|
||
|
if_modified_since off;
|
||
|
expires off;
|
||
|
etag off;
|
||
|
|
||
|
proxy_set_header Host $http_host;
|
||
|
proxy_set_header X-Real-IP $remote_addr;
|
||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||
|
proxy_read_timeout 36000s;
|
||
|
proxy_connect_timeout 36000s;
|
||
|
proxy_send_timeout 36000s;
|
||
|
proxy_buffer_size 128k;
|
||
|
proxy_buffers 4 256k;
|
||
|
proxy_busy_buffers_size 256k;
|
||
|
send_timeout 36000s;
|
||
|
proxy_no_cache 1;
|
||
|
proxy_pass http://127.0.0.1:8000;
|
||
|
|
||
|
}
|
||
|
|
||
|
location /live/ {
|
||
|
alias /var/www/srs/live/;
|
||
|
}
|
||
|
|
||
|
location /preview/stream.flv {
|
||
|
# HTTP-FLV preview
|
||
|
proxy_pass http://preview.local:8080/live/stream.flv;
|
||
|
}
|
||
|
}
|