21.02.2013 20:03, Valentin V. Bartenev wrote:
[...]
Apparently such configuration implies that different kinds of
connections (standard and websocket) can not be mixed in one "location"
section? (As far as I understood it, magic headers do not get through
directly, but essentially get reintroduced by these configuration
settings?)


Not quite so. Actually, they can be mixed. That's why the $http_upgrade variable
used. If there's no such header in request, then the variable is empty and the
header won't be set.

You are right. Now I see. I've even actually made some tests to be completely sure and they all worked correctly.

Thank you for precise explanation and usefull examples!

Nikolai


You can also set the Connection header to different values depending on
existence of the Upagrade header in a request.

Example:

   http {
       map $http_upgrade $conn_header {
           default        upgrade;
           ''             close;
       }

       server {
           ...

           location {
               proxy_pass  http://127.0.0.1:8080;
               proxy_http_version 1.1;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection $conn_header;
           }
       }

http://nginx.org/r/map


   wbr, Valentin V. Bartenev

--
http://nginx.com/support.html
http://nginx.org/en/donation.html

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx



_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to