add the ability to add ssl certificates per container via env variables

This commit is contained in:
Gabe Anzelini 2014-08-22 13:51:20 -07:00
parent 34afde73e0
commit 279c16f824

View file

@ -40,6 +40,48 @@ upstream {{ $host }} {
{{ end }}
}
{{ $crt := groupBy $containers "Env.SSL_CRT" }}
{{ $key := groupBy $containers "Env.SSL_KEY" }}
{{ if and (eq (len $crt) 1) (eq (len $key) 1) }}
server {
listen 80;
server_name {{ $host }};
rewrite ^(.*) https://{{ $host }}$1 permanent;
}
server {
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
listen 443;
server_name {{ $host }};
ssl on;
{{ range $crt, $value := $crt }}
ssl_certificate /ssl/{{ $crt }};
{{ end }}
{{ range $key, $value := $key }}
ssl_certificate_key /ssl/{{ $key }};
{{ end }}
proxy_buffering off;
error_log /proc/self/fd/2;
access_log /proc/self/fd/1;
location / {
proxy_pass http://{{ $host }};
include /etc/nginx/proxy_params;
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
{{/* if there is not a ssl_crt env variable */}}
{{ else }}
server {
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
@ -58,3 +100,4 @@ server {
}
}
{{ end }}
{{ end }}