diff --git a/plugins/nginx-vhosts/commands b/plugins/nginx-vhosts/commands index be64d1751..c69bf40b5 100755 --- a/plugins/nginx-vhosts/commands +++ b/plugins/nginx-vhosts/commands @@ -111,7 +111,11 @@ EOF if [[ -n "$NONSSL_VHOSTS" ]]; then NOSSL_SERVER_NAME=$(echo $NONSSL_VHOSTS | tr '\n' ' ') xargs -i echo "-----> Configuring {}..." <<< "$NONSSL_VHOSTS" - [[ -z "$NGINX_CUSTOM_TEMPLATE" ]] && NGINX_TEMPLATE="$(dirname $0)/templates/nginx.conf.template" + if [[ -n "$DOKKU_SSL_TERMINATED" ]] && [[ -z "$NGINX_CUSTOM_TEMPLATE" ]]; then + NGINX_TEMPLATE="$(dirname $0)/templates/nginx.terminated.conf" + elif [[ -z "$NGINX_CUSTOM_TEMPLATE" ]]; then + NGINX_TEMPLATE="$(dirname $0)/templates/nginx.conf.template" + fi eval "cat <<< \"$(< $NGINX_TEMPLATE)\" >> $NGINX_CONF" fi diff --git a/plugins/nginx-vhosts/templates/nginx.terminated.conf b/plugins/nginx-vhosts/templates/nginx.terminated.conf new file mode 100644 index 000000000..bc7bc3a1d --- /dev/null +++ b/plugins/nginx-vhosts/templates/nginx.terminated.conf @@ -0,0 +1,19 @@ +# Nginx configuration when running behind a load balancer that terminates SSL +# connections (e.g. AWS ELB) +server { + listen [::]:80; + listen 80; + server_name $NOSSL_SERVER_NAME; + location / { + proxy_pass http://$APP; + proxy_http_version 1.1; + proxy_set_header Upgrade \$http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host \$http_host; + proxy_set_header X-Forwarded-Proto \$http_x_forwarded_proto; + proxy_set_header X-Forwarded-For \$http_x_forwarded_for; + proxy_set_header X-Forwarded-Port \$http_x_forwarded_port; + proxy_set_header X-Request-Start \$msec; + } + include $DOKKU_ROOT/$APP/nginx.conf.d/*.conf; +}