12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- {{ range $host, $containers := groupBy $ "Env.VIRTUAL_HOST" }}
- upstream {{ $host }} {
- {{ range $index, $value := $containers }}
- {{ $addrLen := len $value.Addresses }}
- {{/* If only 1 port exposed, use that */}}
- {{ if eq $addrLen 1 }}
- {{ with $address := index $value.Addresses 0 }}
- # {{$value.Name}}
- server {{ $address.IP }}:{{ $address.Port }};
- {{ end }}
- {{/* If more than one port exposed, use the one matching VIRTUAL_PORT env var */}}
- {{ else if $value.Env.VIRTUAL_PORT }}
- {{ range $i, $address := $value.Addresses }}
- {{ if eq $address.Port $value.Env.VIRTUAL_PORT }}
- # {{$value.Name}}
- server {{ $address.IP }}:{{ $address.Port }};
- {{ end }}
- {{ end }}
- {{/* Else default to standard web port 80 */}}
- {{ else }}
- {{ range $i, $address := $value.Addresses }}
- {{ if eq $address.Port "80" }}
- # {{$value.Name}}
- server {{ $address.IP }}:{{ $address.Port }};
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- }
- server {
- gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
- server_name {{ $host }};
- proxy_buffering off;
- location / {
- proxy_pass http://{{ $host }};
- include /etc/nginx/proxy_params;
- }
- }
- {{ end }}
|