From f8021655090550f50c7a3783997502ab956ccd84 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Fri, 10 Sep 2021 17:09:09 +0200 Subject: [PATCH] /skynet/tus should handle options response --- docker/nginx/conf.d/include/cors | 11 ++--------- docker/nginx/conf.d/include/cors-headers | 5 +++++ docker/nginx/conf.d/server/server.api | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) create mode 100644 docker/nginx/conf.d/include/cors-headers diff --git a/docker/nginx/conf.d/include/cors b/docker/nginx/conf.d/include/cors index baf02281..a98074c5 100644 --- a/docker/nginx/conf.d/include/cors +++ b/docker/nginx/conf.d/include/cors @@ -1,16 +1,9 @@ if ($request_method = 'OPTIONS') { - more_set_headers 'Access-Control-Allow-Origin: $http_origin'; - more_set_headers 'Access-Control-Allow-Credentials: true'; - more_set_headers 'Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE'; - more_set_headers 'Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,If-None-Match,Cache-Control,Content-Type,Range,X-HTTP-Method-Override,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,location'; + include /etc/nginx/conf.d/include/cors-headers; more_set_headers 'Access-Control-Max-Age: 1728000'; more_set_headers 'Content-Type: text/plain; charset=utf-8'; more_set_headers 'Content-Length: 0'; return 204; } -more_set_headers 'Access-Control-Allow-Origin: $http_origin'; -more_set_headers 'Access-Control-Allow-Credentials: true'; -more_set_headers 'Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE'; -more_set_headers 'Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,If-None-Match,Cache-Control,Content-Type,Range,X-HTTP-Method-Override,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,location'; -more_set_headers 'Access-Control-Expose-Headers: Content-Length,Content-Range,ETag,Skynet-File-Metadata,Skynet-Skylink,Skynet-Proof,Skynet-Portal-Api,Skynet-Server-Api,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,location'; +include /etc/nginx/conf.d/include/cors-headers; diff --git a/docker/nginx/conf.d/include/cors-headers b/docker/nginx/conf.d/include/cors-headers new file mode 100644 index 00000000..26f28fa5 --- /dev/null +++ b/docker/nginx/conf.d/include/cors-headers @@ -0,0 +1,5 @@ +more_set_headers 'Access-Control-Allow-Origin: $http_origin'; +more_set_headers 'Access-Control-Allow-Credentials: true'; +more_set_headers 'Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE'; +more_set_headers 'Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,If-None-Match,Cache-Control,Content-Type,Range,X-HTTP-Method-Override,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,location'; +more_set_headers 'Access-Control-Expose-Headers: Content-Length,Content-Range,ETag,Skynet-File-Metadata,Skynet-Skylink,Skynet-Proof,Skynet-Portal-Api,Skynet-Server-Api,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,location'; diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 50c0b0d5..183f9794 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -143,7 +143,7 @@ location /skynet/skyfile { # endpoint implementing resumable file uploads open protocol https://tus.io location /skynet/tus { - include /etc/nginx/conf.d/include/cors; + include /etc/nginx/conf.d/include/cors-headers; # include cors headers but do not overwrite OPTIONS response include /etc/nginx/conf.d/include/track-upload; # TUS chunks size is 40M + leaving 10M of breathing room