mirror of
				https://github.com/thib8956/nginx-proxy
				synced 2025-10-31 17:19:21 +00:00 
			
		
		
		
	fix: Handle VIRTUAL_PROTO on virtual path basis
This commit is contained in:
		
				
					committed by
					
						 Nicolas Duchon
						Nicolas Duchon
					
				
			
			
				
	
			
			
			
						parent
						
							7ede0fa4b9
						
					
				
				
					commit
					08c9586346
				
			
							
								
								
									
										15
									
								
								nginx.tmpl
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								nginx.tmpl
									
									
									
									
									
								
							| @@ -276,9 +276,6 @@ server { | |||||||
| {{ $default_host := or ($.Env.DEFAULT_HOST) "" }} | {{ $default_host := or ($.Env.DEFAULT_HOST) "" }} | ||||||
| {{ $default_server := index (dict $host "" $default_host "default_server") $host }} | {{ $default_server := index (dict $host "" $default_host "default_server") $host }} | ||||||
|  |  | ||||||
| {{/* Get the VIRTUAL_PROTO defined by containers w/ the same vhost, falling back to "http" */}} |  | ||||||
| {{ $proto := trim (or (first (groupByKeys $containers "Env.VIRTUAL_PROTO")) "http") }} |  | ||||||
|  |  | ||||||
| {{/* Get the SERVER_TOKENS defined by containers w/ the same vhost, falling back to "" */}} | {{/* Get the SERVER_TOKENS defined by containers w/ the same vhost, falling back to "" */}} | ||||||
| {{ $server_tokens := trim (or (first (groupByKeys $containers "Env.SERVER_TOKENS")) "") }} | {{ $server_tokens := trim (or (first (groupByKeys $containers "Env.SERVER_TOKENS")) "") }} | ||||||
|  |  | ||||||
| @@ -386,11 +383,17 @@ server { | |||||||
| 	{{ end }} | 	{{ end }} | ||||||
|  |  | ||||||
| 	{{ if eq $nPaths 0 }} | 	{{ if eq $nPaths 0 }} | ||||||
|  | 		{{/* Get the VIRTUAL_PROTO defined by containers w/ the same vhost, falling back to "http" */}} | ||||||
|  | 		{{ $proto := trim (or (first (groupByKeys $containers "Env.VIRTUAL_PROTO")) "http") }} | ||||||
|  |  | ||||||
| 		{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | 		{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | ||||||
| 		{{ $network_tag := or (first (groupByKeys $containers "Env.NETWORK_ACCESS")) "external" }} | 		{{ $network_tag := or (first (groupByKeys $containers "Env.NETWORK_ACCESS")) "external" }} | ||||||
| 		{{ template "location" (dict "Path" "/" "Proto" $proto "Upstream" $upstream_name "Host" $host "Vhostroot" $vhost_root "Dest" "" "NetworkTag" $network_tag) }} | 		{{ template "location" (dict "Path" "/" "Proto" $proto "Upstream" $upstream_name "Host" $host "Vhostroot" $vhost_root "Dest" "" "NetworkTag" $network_tag) }} | ||||||
| 	{{ else }} | 	{{ else }} | ||||||
| 		{{ range $path, $container := $paths }} | 		{{ range $path, $container := $paths }} | ||||||
|  | 			{{/* Get the VIRTUAL_PROTO defined by containers w/ the same vhost-vpath, falling back to "http" */}} | ||||||
|  | 			{{ $proto := trim (or (first (groupByKeys $container "Env.VIRTUAL_PROTO")) "http") }} | ||||||
|  |  | ||||||
| 			{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | 			{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | ||||||
| 			{{ $network_tag := or (first (groupByKeys $container "Env.NETWORK_ACCESS")) "external" }} | 			{{ $network_tag := or (first (groupByKeys $container "Env.NETWORK_ACCESS")) "external" }} | ||||||
| 			{{ $sum := sha1 $path }} | 			{{ $sum := sha1 $path }} | ||||||
| @@ -428,11 +431,17 @@ server { | |||||||
| 	{{ end }} | 	{{ end }} | ||||||
|  |  | ||||||
| 	{{ if eq $nPaths 0 }} | 	{{ if eq $nPaths 0 }} | ||||||
|  | 		{{/* Get the VIRTUAL_PROTO defined by containers w/ the same vhost, falling back to "http" */}} | ||||||
|  | 		{{ $proto := trim (or (first (groupByKeys $containers "Env.VIRTUAL_PROTO")) "http") }} | ||||||
|  |  | ||||||
| 		{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | 		{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | ||||||
| 		{{ $network_tag := or (first (groupByKeys $containers "Env.NETWORK_ACCESS")) "external" }} | 		{{ $network_tag := or (first (groupByKeys $containers "Env.NETWORK_ACCESS")) "external" }} | ||||||
| 		{{ template "location" (dict "Path" "/" "Proto" $proto "Upstream" $upstream_name "Host" $host "Vhostroot" $vhost_root "Dest" "" "NetworkTag" $network_tag) }} | 		{{ template "location" (dict "Path" "/" "Proto" $proto "Upstream" $upstream_name "Host" $host "Vhostroot" $vhost_root "Dest" "" "NetworkTag" $network_tag) }} | ||||||
| 	{{ else }} | 	{{ else }} | ||||||
| 		{{ range $path, $container := $paths }} | 		{{ range $path, $container := $paths }} | ||||||
|  | 			{{/* Get the VIRTUAL_PROTO defined by containers w/ the same vhost-vpath, falling back to "http" */}} | ||||||
|  | 			{{ $proto := trim (or (first (groupByKeys $container "Env.VIRTUAL_PROTO")) "http") }} | ||||||
|  |  | ||||||
| 			{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | 			{{/* Get the NETWORK_ACCESS defined by containers w/ the same vhost, falling back to "external" */}} | ||||||
| 			{{ $network_tag := or (first (groupByKeys $container "Env.NETWORK_ACCESS")) "external" }} | 			{{ $network_tag := or (first (groupByKeys $container "Env.NETWORK_ACCESS")) "external" }} | ||||||
| 			{{ $sum := sha1 $path }} | 			{{ $sum := sha1 $path }} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user