diff --git a/docker/nginxdev/default.conf b/docker/nginxdev/default.conf index 2598c2d39..f642cef50 100644 --- a/docker/nginxdev/default.conf +++ b/docker/nginxdev/default.conf @@ -33,6 +33,17 @@ server { return 301 https://$host$request_uri; } +# Map for headers to avoid caching +map "$request_method:$uri" $none_match { + "~*^GET:/api/records" ""; + default "-"; +} + +map "$request_method:$uri" $modified_since { + "~*^GET:/api/records" ""; + default "-"; +} + # HTTPS server server { listen 443 ssl; # IPv4 @@ -87,6 +98,23 @@ server { proxy_pass http://nodeweb; } + + location /api/records { + # Gets the headers from the map for GET requests + proxy_set_header If-None-Match $none_match; + proxy_set_header If-Modified-Since $modified_since; + + rewrite ^/api/(.*) /$1 break; + 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_pass http://api_server; + + # Max upload size (except for files) is set to 100mb as default. + client_max_body_size 100m; + } + location /api { rewrite ^/api/(.*) /$1 break ; proxy_set_header Host $http_host;