mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-02-24 09:48:14 +00:00
Merge pull request #2550 from nginx-proxy/refactor-template
refactor: nginx template
This commit is contained in:
commit
d433b3bee6
44
nginx.tmpl
44
nginx.tmpl
@ -147,7 +147,7 @@
|
|||||||
# exposed ports (first ten):{{ range $index, $address := (sortObjectsByKeysAsc $.container.Addresses "Port") }}{{ if lt $index 10 }} {{ $address.Port }}/{{ $address.Proto }}{{ end }}{{ else }} (none){{ end }}
|
# exposed ports (first ten):{{ range $index, $address := (sortObjectsByKeysAsc $.container.Addresses "Port") }}{{ if lt $index 10 }} {{ $address.Port }}/{{ $address.Proto }}{{ end }}{{ else }} (none){{ end }}
|
||||||
{{- $default_port := when (eq (len $.container.Addresses) 1) (first $.container.Addresses).Port "80" }}
|
{{- $default_port := when (eq (len $.container.Addresses) 1) (first $.container.Addresses).Port "80" }}
|
||||||
# default port: {{ $default_port }}
|
# default port: {{ $default_port }}
|
||||||
{{- $port := when (eq $.port "default") $default_port (when (eq $.port "legacy") (or $.container.Env.VIRTUAL_PORT $default_port) $.port) }}
|
{{- $port := eq $.port "default" | ternary $default_port $.port }}
|
||||||
# using port: {{ $port }}
|
# using port: {{ $port }}
|
||||||
{{- $addr_obj := where $.container.Addresses "Port" $port | first }}
|
{{- $addr_obj := where $.container.Addresses "Port" $port | first }}
|
||||||
{{- if and $addr_obj $addr_obj.HostPort }}
|
{{- if and $addr_obj $addr_obj.HostPort }}
|
||||||
@ -367,16 +367,16 @@ upstream {{ $vpath.upstream }} {
|
|||||||
{{- define "debug_location" }}
|
{{- define "debug_location" }}
|
||||||
{{- $debug_paths := dict }}
|
{{- $debug_paths := dict }}
|
||||||
{{- range $path, $vpath := .VHost.paths }}
|
{{- range $path, $vpath := .VHost.paths }}
|
||||||
{{- $tmp_port := dict }}
|
{{- $tmp_ports := dict }}
|
||||||
{{- range $port, $containers := $vpath.ports }}
|
{{- range $port, $containers := $vpath.ports }}
|
||||||
{{- $tmp_containers := list }}
|
{{- $tmp_containers := list }}
|
||||||
{{- range $container := $containers }}
|
{{- range $container := $containers }}
|
||||||
{{- $tmp_containers = dict "Name" $container.Name | append $tmp_containers }}
|
{{- $tmp_containers = dict "Name" $container.Name | append $tmp_containers }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $_ := dict $port $tmp_containers | set $tmp_port "ports" }}
|
{{- $_ := set $tmp_ports $port $tmp_containers }}
|
||||||
{{- $tmp_port = deepCopy $vpath | merge $tmp_port }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $_ := set $debug_paths $path $tmp_port }}
|
{{- $debug_vpath := deepCopy $vpath | merge (dict "ports" $tmp_ports) }}
|
||||||
|
{{- $_ := set $debug_paths $path $debug_vpath }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- $debug_vhost := deepCopy .VHost }}
|
{{- $debug_vhost := deepCopy .VHost }}
|
||||||
@ -409,7 +409,7 @@ upstream {{ $vpath.upstream }} {
|
|||||||
|
|
||||||
location /nginx-proxy-debug {
|
location /nginx-proxy-debug {
|
||||||
default_type application/json;
|
default_type application/json;
|
||||||
return 200 '{{ toJson $debug_response }}';
|
return 200 '{{ toJson $debug_response }}{{ "\\n" }}';
|
||||||
}
|
}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@ -562,7 +562,7 @@ proxy_set_header Proxy "";
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- range $hostname, $vhost := $parsedVhosts }}
|
{{- range $hostname, $vhost := $parsedVhosts }}
|
||||||
{{- $vhost_data := when (hasKey $globals.vhosts $hostname) (get $globals.vhosts $hostname) (dict) }}
|
{{- $vhost_data := get $globals.vhosts $hostname | default (dict) }}
|
||||||
{{- $paths := $vhost_data.paths | default (dict) }}
|
{{- $paths := $vhost_data.paths | default (dict) }}
|
||||||
|
|
||||||
{{- if (empty $vhost) }}
|
{{- if (empty $vhost) }}
|
||||||
@ -574,11 +574,10 @@ proxy_set_header Proxy "";
|
|||||||
{{- $vpath = dict "dest" "" "port" "default" }}
|
{{- $vpath = dict "dest" "" "port" "default" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $dest := $vpath.dest | default "" }}
|
{{- $dest := $vpath.dest | default "" }}
|
||||||
{{- $port := when (hasKey $vpath "port") (toString $vpath.port) "default" }}
|
{{- $port := $vpath.port | default "default" | toString }}
|
||||||
{{- $path_data := when (hasKey $paths $path) (get $paths $path) (dict) }}
|
{{- $path_data := get $paths $path | default (dict) }}
|
||||||
{{- $path_ports := when (hasKey $path_data "ports") (get $path_data "ports") (dict) }}
|
{{- $path_ports := $path_data.ports | default (dict) }}
|
||||||
{{- $path_port_containers := when (hasKey $path_ports $port) (get $path_ports $port) (list) }}
|
{{- $path_port_containers := get $path_ports $port | default (list) | concat $containers }}
|
||||||
{{- $path_port_containers = concat $path_port_containers $containers }}
|
|
||||||
{{- $_ := set $path_ports $port $path_port_containers }}
|
{{- $_ := set $path_ports $port $path_port_containers }}
|
||||||
{{- $_ := set $path_data "ports" $path_ports }}
|
{{- $_ := set $path_data "ports" $path_ports }}
|
||||||
{{- if (not (hasKey $path_data "dest")) }}
|
{{- if (not (hasKey $path_data "dest")) }}
|
||||||
@ -587,8 +586,6 @@ proxy_set_header Proxy "";
|
|||||||
{{- $_ := set $paths $path $path_data }}
|
{{- $_ := set $paths $path $path_data }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $_ := set $vhost_data "paths" $paths }}
|
{{- $_ := set $vhost_data "paths" $paths }}
|
||||||
{{- $is_regexp := hasPrefix "~" $hostname }}
|
|
||||||
{{- $_ := set $vhost_data "upstream_name" (when (or $is_regexp $globals.config.sha1_upstream_name) (sha1 $hostname) $hostname) }}
|
|
||||||
{{- $_ := set $globals.vhosts $hostname $vhost_data }}
|
{{- $_ := set $globals.vhosts $hostname $vhost_data }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -613,19 +610,19 @@ proxy_set_header Proxy "";
|
|||||||
{{- continue }}
|
{{- continue }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- $vhost_data := when (hasKey $globals.vhosts $hostname) (get $globals.vhosts $hostname) (dict) }}
|
{{- $vhost_data := get $globals.vhosts $hostname | default (dict) }}
|
||||||
{{- $paths := $vhost_data.paths | default (dict) }}
|
{{- $paths := $vhost_data.paths | default (dict) }}
|
||||||
|
|
||||||
{{- $tmp_paths := groupByWithDefault $containers "Env.VIRTUAL_PATH" "/" }}
|
{{- $tmp_paths := groupByWithDefault $containers "Env.VIRTUAL_PATH" "/" }}
|
||||||
|
|
||||||
{{- range $path, $containers := $tmp_paths }}
|
{{- range $path, $containers := $tmp_paths }}
|
||||||
{{- $dest := groupByKeys $containers "Env.VIRTUAL_DEST" | first | default "" }}
|
{{- $dest := groupByKeys $containers "Env.VIRTUAL_DEST" | first | default "" }}
|
||||||
{{- $port := "legacy" }}
|
{{- $path_data := get $paths $path | default (dict) }}
|
||||||
{{- $path_data := when (hasKey $paths $path) (get $paths $path) (dict) }}
|
{{- $path_ports := $path_data.ports | default (dict) }}
|
||||||
{{- $path_ports := when (hasKey $path_data "ports") (get $path_data "ports") (dict) }}
|
{{- range $port, $containers := groupByWithDefault $containers "Env.VIRTUAL_PORT" "default" }}
|
||||||
{{- $path_port_containers := when (hasKey $path_ports $port) (get $path_ports $port) (list) }}
|
{{- $path_port_containers := get $path_ports $port | default (list) | concat $containers }}
|
||||||
{{- $path_port_containers = concat $path_port_containers $containers }}
|
|
||||||
{{- $_ := set $path_ports $port $path_port_containers }}
|
{{- $_ := set $path_ports $port $path_port_containers }}
|
||||||
|
{{- end }}
|
||||||
{{- $_ := set $path_data "ports" $path_ports }}
|
{{- $_ := set $path_data "ports" $path_ports }}
|
||||||
{{- if (not (hasKey $path_data "dest")) }}
|
{{- if (not (hasKey $path_data "dest")) }}
|
||||||
{{- $_ := set $path_data "dest" $dest }}
|
{{- $_ := set $path_data "dest" $dest }}
|
||||||
@ -633,14 +630,14 @@ proxy_set_header Proxy "";
|
|||||||
{{- $_ := set $paths $path $path_data }}
|
{{- $_ := set $paths $path $path_data }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $_ := set $vhost_data "paths" $paths }}
|
{{- $_ := set $vhost_data "paths" $paths }}
|
||||||
{{- $is_regexp := hasPrefix "~" $hostname }}
|
|
||||||
{{- $_ := set $vhost_data "upstream_name" (when (or $is_regexp $globals.config.sha1_upstream_name) (sha1 $hostname) $hostname) }}
|
|
||||||
{{- $_ := set $globals.vhosts $hostname $vhost_data }}
|
{{- $_ := set $globals.vhosts $hostname $vhost_data }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- /* Loop over $globals.vhosts and update it with the remaining informations about each vhost. */}}
|
{{- /* Loop over $globals.vhosts and update it with the remaining informations about each vhost. */}}
|
||||||
{{- range $hostname, $vhost_data := $globals.vhosts }}
|
{{- range $hostname, $vhost_data := $globals.vhosts }}
|
||||||
{{- $is_regexp := hasPrefix "~" $hostname }}
|
{{- $is_regexp := hasPrefix "~" $hostname }}
|
||||||
|
{{- $upstream_name := or $is_regexp $globals.config.sha1_upstream_name | ternary (sha1 $hostname) $hostname }}
|
||||||
|
|
||||||
{{- $vhost_containers := list }}
|
{{- $vhost_containers := list }}
|
||||||
|
|
||||||
{{- range $path, $vpath_data := $vhost_data.paths }}
|
{{- range $path, $vpath_data := $vhost_data.paths }}
|
||||||
@ -657,7 +654,7 @@ proxy_set_header Proxy "";
|
|||||||
{{- $loadbalance := groupByLabel $vpath_containers "com.github.nginx-proxy.nginx-proxy.loadbalance" | keys | first }}
|
{{- $loadbalance := groupByLabel $vpath_containers "com.github.nginx-proxy.nginx-proxy.loadbalance" | keys | first }}
|
||||||
{{- $keepalive := groupByLabel $vpath_containers "com.github.nginx-proxy.nginx-proxy.keepalive" | keys | first | default "auto" }}
|
{{- $keepalive := groupByLabel $vpath_containers "com.github.nginx-proxy.nginx-proxy.keepalive" | keys | first | default "auto" }}
|
||||||
|
|
||||||
{{- $upstream := $vhost_data.upstream_name }}
|
{{- $upstream := $upstream_name }}
|
||||||
{{- if (not (eq $path "/")) }}
|
{{- if (not (eq $path "/")) }}
|
||||||
{{- $sum := sha1 $path }}
|
{{- $sum := sha1 $path }}
|
||||||
{{- $upstream = printf "%s-%s" $upstream $sum }}
|
{{- $upstream = printf "%s-%s" $upstream $sum }}
|
||||||
@ -723,6 +720,7 @@ proxy_set_header Proxy "";
|
|||||||
"acme_http_challenge_enabled" $acme_http_challenge_enabled
|
"acme_http_challenge_enabled" $acme_http_challenge_enabled
|
||||||
"server_tokens" $server_tokens
|
"server_tokens" $server_tokens
|
||||||
"ssl_policy" $ssl_policy
|
"ssl_policy" $ssl_policy
|
||||||
|
"upstream_name" $upstream_name
|
||||||
"vhost_root" $vhost_root
|
"vhost_root" $vhost_root
|
||||||
) }}
|
) }}
|
||||||
{{- $_ := set $globals.vhosts $hostname $vhost_data }}
|
{{- $_ := set $globals.vhosts $hostname $vhost_data }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user