Selaa lähdekoodia

Merge pull request #1559 from jc21/variable-fix-custom-locations

Fixes custom location with capture groups
jc21 4 vuotta sitten
vanhempi
sitoutus
432062e0f4

+ 7 - 2
backend/templates/_location.conf

@@ -1,11 +1,16 @@
   location {{ path }} {
-    set              $upstream {{ forward_scheme }}://{{ forward_host }}:{{ forward_port }}{{ forward_path }}$request_uri;
+    set              $targetUri {{ forward_scheme }}://{{ forward_host }}:{{ forward_port }}{{ forward_path }};
+    {% unless path contains "~" and path contains "(" and path contains ")" %}
+    if ($request_uri != /){
+      set            $targetUri $targetUri$request_uri;
+    }
+    {% endunless %}
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-Scheme $scheme;
     proxy_set_header X-Forwarded-Proto  $scheme;
     proxy_set_header X-Forwarded-For    $remote_addr;
     proxy_set_header X-Real-IP		$remote_addr;
-    proxy_pass       $upstream;
+    proxy_pass       $targetUri;
 
     {% if access_list_id > 0 %}
     {% if access_list.items.length > 0 %}

+ 2 - 2
docker/rootfs/etc/nginx/conf.d/include/proxy.conf

@@ -1,9 +1,9 @@
-set              $upstream $forward_scheme://$server:$port$request_uri;
+set              $targetUri $forward_scheme://$server:$port$request_uri;
 add_header       X-Served-By $host;
 proxy_set_header Host $host;
 proxy_set_header X-Forwarded-Scheme $scheme;
 proxy_set_header X-Forwarded-Proto  $scheme;
 proxy_set_header X-Forwarded-For    $remote_addr;
 proxy_set_header X-Real-IP          $remote_addr;
-proxy_pass       $upstream;
+proxy_pass       $targetUri;