Skip to content

Commit 6c1ae77

Browse files
committed
Utilise variable for custom locations proxy_pass
If a custom location is currently set to proxy to a DNS hostname this hostname is cached by nginx. When the underlying IP for the hostname changes this will be cached in nginx until it is restarted. This behaviour is somewhat undesirable if utilising containers. This change sets the proxy_pass for custom locations into a variable and utilises said variable for routing to the upstream backend. This will ensure that nginx will utilise the resolver and resolve the hostname to the current IP instead of relying on the nginx cache.
1 parent ac0bb6b commit 6c1ae77

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

backend/templates/_location.conf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
location {{ path }} {
2+
set $upstream {{ forward_scheme }}://{{ forward_host }}:{{ forward_port }}{{ forward_path }};
23
proxy_set_header Host $host;
34
proxy_set_header X-Forwarded-Scheme $scheme;
45
proxy_set_header X-Forwarded-Proto $scheme;
56
proxy_set_header X-Forwarded-For $remote_addr;
67
proxy_set_header X-Real-IP $remote_addr;
7-
proxy_pass {{ forward_scheme }}://{{ forward_host }}:{{ forward_port }}{{ forward_path }};
8+
proxy_pass $upstream;
89

910
{% if access_list_id > 0 %}
1011
{% if access_list.items.length > 0 %}

0 commit comments

Comments
 (0)