Node.JS, HAproxy and Socket.IO through NGINX, app sits in subdirectory

I've been trying for hours and have read what this site and the internet have to offer. I just can't quite seem to get Socket.IO to work properly here. I know nginx by default can't handle Socket.IO however, HAproxy can. I want nginx to serve the Node apps through unix sockets and that works great. Each have a sub directory location set by nginx, however, now I need Socket.IO for the last app and I'm at a loss of configuring at this point.

I have the latest socket.io, HAproxy 1.4.8 and nginx 1.2.1. Running ubuntu.

So reiterating, I need to get socket.io working though nginx to a node app in a subdirectory, ex: localhost/app/.

Diagram:
WEB => HAproxy => Nginx => {/app1 app1, /app2 app2, /app3 app3}

Let me now if I can offer anything else!

There is no reason to get "get socket.io working though nginx". Instead you just route HAProxy directly to Socket.IO (without Nginx in the middle).

I recommend you checkout the following links:

You could use Haproxy on port 80 to front several node.js apps running on different ports.

E.g.

URL:80/app1 -> haproxy -> node app1:8080

URL:80/app2 -> haproxy -> node app2:8081

URL:80/app3 -> haproxy -> node app3:8083

UPDATE:

The following is an example HAPROXY configuration that routes requests made to http://server:80/hello to localhost:20001 and http://server:80/echo to localhost:20002

backend hello
    server hellosvr 127.0.0.1:20002

backend echo
    server echosvr 127.0.0.1:20001

frontend http_in
    option httpclose
    option forwardfor except 127.0.0.1  # stunnel already adds the header
    bind *:80
    acl rec_hello path_beg /hello/
    use_backend hello if rec_hello
    acl rec_echo path_beg /echo
    use_backend echo if rec_echo