This commit is contained in:
2025-07-20 13:15:46 +00:00
parent 63b2e5900a
commit 1cd2810480
13 changed files with 176 additions and 34 deletions

View File

@@ -23,9 +23,9 @@ server {
} # managed by Certbot
listen 80;
server_name auth.maksim-pankov.ru;
listen 80;
return 404; # managed by Certbot
}
}

View File

@@ -0,0 +1,90 @@
server {
server_name media.maksim-pankov.ru;
set $webdav_root "/mnt/Teka1/media_data";
location / {
root $webdav_root;
error_page 599 = @propfind_handler;
error_page 598 = @delete_handler;
chunked_transfer_encoding on;
open_file_cache off;
client_max_body_size 5g;
add_header Allow 'OPTIONS, GET, HEAD, PROPFIND';
if ($request_method = PROPFIND) {
return 599;
}
if ($request_method = PROPPATCH) { # Unsupported, allways return OK.
add_header Content-Type 'text/xml';
return 207 '<?xml version="1.0"?><a:multistatus xmlns:a="DAV:"><a:response><a:propstat><a:status>HTTP/1.1 200 OK</a:status></a:propstat></a:response></a:multistatus>';
}
if ($request_method = MKCOL) { # Microsoft specific handle: add trailing slash.
rewrite ^(.*[^/])$ $1/;
}
# if ($request_method = DELETE) {
# return 598;
# }
if ($request_method = OPTIONS) {
add_header Allow 'OPTIONS, GET, HEAD, PROPFIND, PROPPATCH, LOCK, UNLOCK';
add_header DAV '1, 2';
return 200;
}
dav_ext_methods OPTIONS;
create_full_put_path on;
dav_access user:r group:r all:r;
autoindex on;
charset utf-8;
auth_basic "Media Server";
auth_basic_user_file /etc/nginx/htpasswd;
}
location @propfind_handler {
internal;
open_file_cache off;
if (!-e $webdav_root/$uri) { # Microsoft specific handle.
return 404;
}
root $webdav_root;
dav_ext_methods PROPFIND;
}
location @delete_handler {
internal;
open_file_cache off;
if (-d $webdav_root/$uri) { # Add trailing slash to dirs.
rewrite ^(.*[^/])$ $1/;
}
root $webdav_root;
dav_methods DELETE;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/media.maksim-pankov.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/media.maksim-pankov.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = media.maksim-pankov.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name media.maksim-pankov.ru;
listen 80;
return 404; # managed by Certbot
}

View File

@@ -10,8 +10,11 @@ server {
alias /mnt/Teka2/site-data/;
}
large_client_header_buffers 4 32k;
location /live-data/ {
proxy_pass http://192.168.0.105:7788/;
}
large_client_header_buffers 4 32k;
listen 443 ssl; # managed by Certbot
@@ -22,6 +25,7 @@ server {
}
server {
if ($host = maksim-pankov.ru) {
return 301 https://$host$request_uri;
@@ -33,4 +37,4 @@ server {
return 404; # managed by Certbot
}
}

View File

@@ -0,0 +1,33 @@
server {
server_name stream.maksim-pankov.ru;
location /stats {
if ($request_method = "GET") {
add_header "Access-Control-Allow-Origin" *;
}
rtmp_stat all;
# rtmp_stat_stylesheet /stat.xsl;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/stream.maksim-pankov.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/stream.maksim-pankov.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}server {
if ($host = stream.maksim-pankov.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name stream.maksim-pankov.ru;
listen 80;
return 404; # managed by Certbot
}