aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2013-02-18 13:50:52 +0000
committerMaxim Dounin <mdounin@mdounin.ru>2013-02-18 13:50:52 +0000
commit08a73b4aadebd9405ac52ec1f6eef5ca1fe8c11a (patch)
tree844f6f53431a2c5071b7a799a697b26631946db9 /src/http/ngx_http_request.c
parent35c17ea6f55c202956dccdf11edcdcda432edebe (diff)
downloadnginx-08a73b4aadebd9405ac52ec1f6eef5ca1fe8c11a.tar.gz
nginx-08a73b4aadebd9405ac52ec1f6eef5ca1fe8c11a.zip
Proxy: support for connection upgrade (101 Switching Protocols).
This allows to proxy WebSockets by using configuration like this: location /chat/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } Connection upgrade is allowed as long as it was requested by a client via the Upgrade request header.
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index e94e7fcce..763e7bf11 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -130,6 +130,10 @@ ngx_http_header_t ngx_http_headers_in[] = {
offsetof(ngx_http_headers_in_t, expect),
ngx_http_process_unique_header_line },
+ { ngx_string("Upgrade"),
+ offsetof(ngx_http_headers_in_t, upgrade),
+ ngx_http_process_header_line },
+
#if (NGX_HTTP_GZIP)
{ ngx_string("Accept-Encoding"),
offsetof(ngx_http_headers_in_t, accept_encoding),