From 7d78dc663fe8884cbd81844e3e5d7e43bf88f0f8 Mon Sep 17 00:00:00 2001 From: lookshe Date: Sat, 14 Mar 2015 22:11:16 +0100 Subject: -modified readme - add config example for signaling server behing varnish --- signaling-server/varnish.config | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 signaling-server/varnish.config (limited to 'signaling-server') diff --git a/signaling-server/varnish.config b/signaling-server/varnish.config new file mode 100644 index 0000000..d1d667b --- /dev/null +++ b/signaling-server/varnish.config @@ -0,0 +1,37 @@ +################################################################################################################################# +# inspired by http://serverfault.com/questions/370890/best-way-to-deploy-my-node-js-app-on-a-varnish-nginx-server/371008#371008 # +################################################################################################################################# + +# to use the signaling server behind a varnish cache server you need to define a backend for it + +backend nodejs { + .host = "127.0.0.1"; + #.host = "148.251.154.68"; + .port = "4500"; +} + + +# and also some modifications in vcl_recv + +if (req.http.Upgrade ~ "(?i)websocket") { + set req.backend = nodejs; + return (pipe); +} +if (req.http.host == "chat.lookshe.org") { + if (req.url ~ "^/socket.io/") { + set req.backend = nodejs; + return (pipe); + } +} + + +# and at least vcl_pipe + +sub vcl_pipe { + #Need to copy the upgrade for websockets to work + if (req.http.upgrade) { + set bereq.http.upgrade = req.http.upgrade; + } + set bereq.http.Connection = "close"; + return (pipe); +} -- cgit v1.2.3