update
This commit is contained in:
90
services/ingress/media.conf
Normal file
90
services/ingress/media.conf
Normal 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
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user