From 752b78ce05ddd76ab69dfda6589b200e090cb1a3 Mon Sep 17 00:00:00 2001 From: saidimu apale Date: Wed, 1 Oct 2014 13:35:42 -0400 Subject: [PATCH] Websockets support Added `Upgrade` and `Connection` headers to the template to allow nginx to [upgrade a request](http://nginx.com/blog/websocket-nginx/). ``` proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; ``` These headers are only added if a `WEBSOCKETS` environment variable is defined. --- nginx.tmpl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/nginx.tmpl b/nginx.tmpl index 2f1eac4..e09a7a5 100644 --- a/nginx.tmpl +++ b/nginx.tmpl @@ -40,6 +40,7 @@ upstream {{ $host }} { {{ end }} } +{{ range $index, $value := $containers }} server { gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; @@ -54,7 +55,16 @@ server { # HTTP 1.1 support proxy_http_version 1.1; - proxy_set_header Connection ""; + + {{ /* Only add the websockets Upgrade headers if a WEBSOCKETS env var is set. */}} + {{ if $value.Env.WEBSOCKETS }} + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + {{ else }} + proxy_set_header Connection ""; + {{ end }} + } +{{ end }} } {{ end }}