From 2f401447c7d1b60b1a7df1a634cb1770adf35dfd Mon Sep 17 00:00:00 2001 From: neilpang Date: Sat, 3 Jun 2017 15:30:33 +0800 Subject: [PATCH] generate single server section for one container with multiple vhost domains. --- nginx.tmpl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nginx.tmpl b/nginx.tmpl index a5b1d32..20a4e6d 100644 --- a/nginx.tmpl +++ b/nginx.tmpl @@ -98,7 +98,9 @@ server { } {{ end }} -{{ range $host, $containers := groupByMulti $ "Env.VIRTUAL_HOST" "," }} +{{ range $host_list, $containers := groupBy $ "Env.VIRTUAL_HOST" }} +{{ $sl := split $host_list "," }} +{{ $host := index $sl 0 }} {{ $is_regexp := hasPrefix "~" $host }} {{ $upstream_name := when $is_regexp (sha1 $host) $host }} # {{ $host }} @@ -155,7 +157,7 @@ upstream {{ $upstream_name }} { {{ if eq $https_method "redirect" }} server { - server_name {{ $host }}; + server_name {{ replace $host_list "," " " -1 }}; listen 80 {{ $default_server }}; {{ if $enable_ipv6 }} listen [::]:80 {{ $default_server }}; @@ -166,7 +168,7 @@ server { {{ end }} server { - server_name {{ $host }}; + server_name {{ replace $host_list "," " " -1 }}; listen 443 ssl http2 {{ $default_server }}; {{ if $enable_ipv6 }} listen [::]:443 ssl http2 {{ $default_server }}; @@ -222,7 +224,7 @@ server { {{ if or (not $is_https) (eq $https_method "noredirect") }} server { - server_name {{ $host }}; + server_name {{ replace $host_list "," " " -1 }}; listen 80 {{ $default_server }}; {{ if $enable_ipv6 }} listen [::]:80 {{ $default_server }}; @@ -256,7 +258,7 @@ server { {{ if (and (not $is_https) (exists "/etc/nginx/certs/default.crt") (exists "/etc/nginx/certs/default.key")) }} server { - server_name {{ $host }}; + server_name {{ replace $host_list "," " " -1 }}; listen 443 ssl http2 {{ $default_server }}; {{ if $enable_ipv6 }} listen [::]:443 ssl http2 {{ $default_server }};