Page MenuHomePhabricator

Support websockets in cache_misc
Closed, ResolvedPublic

Description

There are two parts to this: getting them proxying in through tlsproxy correctly, and getting them proxied transitively through varnish layers. Since we're creating open pipes through varnish with this, I'd rather leave it out of the other clusters for now and confine it to cache_misc.

Related Objects

Event Timeline

Restricted Application added subscribers: Zppix, Aklapper. · View Herald Transcript

Change 287940 had a related patch set uploaded (by BBlack):
tlsproxy: minimize keepalives diff in config

https://gerrit.wikimedia.org/r/287940

Change 287941 had a related patch set uploaded (by BBlack):
Pipe websockets through traffic layers

https://gerrit.wikimedia.org/r/287941

Change 287958 had a related patch set uploaded (by BBlack):
cache_misc: turn on websocket support

https://gerrit.wikimedia.org/r/287958

Change 287995 had a related patch set uploaded (by BBlack):
tlsproxy: switch to (non-persistent) HTTP/1.1

https://gerrit.wikimedia.org/r/287995

Change 287940 merged by BBlack:
tlsproxy: minimize keepalives diff in config

https://gerrit.wikimedia.org/r/287940

Change 287995 merged by BBlack:
tlsproxy: switch to (non-persistent) HTTP/1.1

https://gerrit.wikimedia.org/r/287995

Aklapper renamed this task from Support webockets in cache_misc to Support websockets in cache_misc.May 10 2016, 7:26 PM

I've merged the first two patches, which are really pre-patches from this ticket's POV. There's some interaction between this work and T107749 , so I'll put the detailed updates about that over there. For now, we're using HTTP/1.1 non-persistent connections via the upstream module for nginx->varnish everywhere, but don't yet have the actual websocket bits merged yet...

Added HTTP/1.1 keepalive task as a blocker. We don't really need keepalives for this, but the work ongoing in that ticket is about resolving the issue with turning on HTTP/1.1 at all (keepalive or not), which is a pre-req for this.

Change 287941 merged by BBlack:
Support optional keepalives and websockets for v4 only

https://gerrit.wikimedia.org/r/287941

Change 287958 merged by BBlack:
cache_misc: turn on keepalives websocket support

https://gerrit.wikimedia.org/r/287958

Change 294320 had a related patch set uploaded (by BBlack):
websockets VCL: after HTTPS

https://gerrit.wikimedia.org/r/294320

Change 294320 merged by BBlack:
websockets VCL: after HTTPS

https://gerrit.wikimedia.org/r/294320

Seems to basically work. Ideally we'd limit the websocket VCL capabilities based on req.http.Host as well, but that will have to come later with further refactoring of automated app_directors stuff in T110717

BBlack claimed this task.