mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-02-24 01:38:15 +00:00
fix: use sha1 hash for config files when using regex host
This commit is contained in:
parent
5ec120a296
commit
73ba28091a
31
nginx.tmpl
31
nginx.tmpl
@ -289,7 +289,7 @@
|
||||
auth_basic "Restricted {{ .Host }}{{ .Path }}";
|
||||
auth_basic_user_file {{ (printf "/etc/nginx/htpasswd/%s_%s" .Host (sha1 .Path)) }};
|
||||
{{- else if (exists (printf "/etc/nginx/htpasswd/%s" .Host)) }}
|
||||
auth_basic "Restricted {{ .Host }}";
|
||||
auth_basic "Restricted {{ .HostIsRegexp | ternary "access" .Host }}";
|
||||
auth_basic_user_file {{ (printf "/etc/nginx/htpasswd/%s" .Host) }};
|
||||
{{- end }}
|
||||
|
||||
@ -570,7 +570,9 @@ proxy_set_header Proxy "";
|
||||
|
||||
{{- /* Loop over $globals.vhosts and update it with the remaining informations about each vhost. */}}
|
||||
{{- range $hostname, $vhost_data := $globals.vhosts }}
|
||||
{{- $is_regexp := hasPrefix "~" $hostname }}
|
||||
{{- $vhost_containers := list }}
|
||||
|
||||
{{- range $path, $vpath_data := $vhost_data.paths }}
|
||||
{{- $vpath_containers := list }}
|
||||
{{- range $port, $vport_containers := $vpath_data.ports }}
|
||||
@ -644,6 +646,7 @@ proxy_set_header Proxy "";
|
||||
"https_method" $https_method
|
||||
"http2_enabled" $http2_enabled
|
||||
"http3_enabled" $http3_enabled
|
||||
"is_regexp" $is_regexp
|
||||
"acme_http_challenge_legacy" $acme_http_challenge_legacy
|
||||
"acme_http_challenge_enabled" $acme_http_challenge_enabled
|
||||
"server_tokens" $server_tokens
|
||||
@ -785,6 +788,23 @@ server {
|
||||
{{- end }}
|
||||
|
||||
server {
|
||||
{{- if $vhost.is_regexp }}
|
||||
{{- if or
|
||||
(printf "/etc/nginx/vhost.d/%s" $hostname | exists)
|
||||
(printf "/etc/nginx/vhost.d/%s_location" $hostname | exists)
|
||||
(printf "/etc/nginx/vhost.d/%s_location_override" $hostname | exists)
|
||||
(printf "/etc/nginx/htpasswd/%s" $hostname | exists)
|
||||
}}
|
||||
# https://github.com/nginx-proxy/nginx-proxy/issues/2529#issuecomment-2437609249
|
||||
# Support for vhost config file(s) named like a regexp ({{ $hostname }}) has been removed from nginx-proxy.
|
||||
# Please name your vhost config file(s) with the sha1 of the regexp instead ({{ $hostname }} -> {{ sha1 $hostname }}) :
|
||||
# - /etc/nginx/vhost.d/{{ sha1 $hostname }}
|
||||
# - /etc/nginx/vhost.d/{{ sha1 $hostname }}_location
|
||||
# - /etc/nginx/vhost.d/{{ sha1 $hostname }}_location_override
|
||||
# - /etc/nginx/htpasswd/{{ sha1 $hostname }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
server_name {{ $hostname }};
|
||||
{{- if $vhost.server_tokens }}
|
||||
server_tokens {{ $vhost.server_tokens }};
|
||||
@ -865,8 +885,10 @@ server {
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if (exists (printf "/etc/nginx/vhost.d/%s" $hostname)) }}
|
||||
include {{ printf "/etc/nginx/vhost.d/%s" $hostname }};
|
||||
{{- $vhostFileName := $vhost.is_regexp | ternary (sha1 $hostname) $hostname }}
|
||||
|
||||
{{- if (exists (printf "/etc/nginx/vhost.d/%s" $vhostFileName)) }}
|
||||
include {{ printf "/etc/nginx/vhost.d/%s" $vhostFileName }};
|
||||
{{- else if (exists "/etc/nginx/vhost.d/default") }}
|
||||
include /etc/nginx/vhost.d/default;
|
||||
{{- end }}
|
||||
@ -874,7 +896,8 @@ server {
|
||||
{{- range $path, $vpath := $vhost.paths }}
|
||||
{{- template "location" (dict
|
||||
"Path" $path
|
||||
"Host" $hostname
|
||||
"Host" $vhostFileName
|
||||
"HostIsRegexp" $vhost.is_regexp
|
||||
"VhostRoot" $vhost.vhost_root
|
||||
"VPath" $vpath
|
||||
) }}
|
||||
|
Loading…
x
Reference in New Issue
Block a user