Trwała sesja oparta na plikach cookie za pośrednictwem proxy-node-http

Mam prosty serwer WWW oparty na Node.js Express, którego używam do tworzenia aplikacji JavaScript. Skonfigurowałem serwer, aby używał proxy-http-proxy do żądań API serwera proxy, które aplikacja wysyła do serwera Jetty działającego w innej domenie i porcie. Ta konfiguracja działa bez zarzutu, dopóki nie zacząłem mieć problemów z zarządzaniem sesją.

Po uwierzytelnieniu serwer aplikacji zwraca plik cookie z tokenem autoryzacji reprezentującym sesję serwera. Kiedy uruchamiam aplikację JS z mojego systemu plików (plik: //), widzę, że gdy klient otrzymuje plik cookie, jest on wysyłany we wszystkich kolejnych żądaniach API. Gdy uruchamiam aplikację JS na serwerze węzłów, a wywołania API są proxy przez proxy-http-proxy (RoutingProxy), nagłówki żądania nigdy nie zawierają pliku cookie.

Czy jest coś, co muszę obsługiwać ręcznie, aby obsługiwać ten typ trwałości sesji za pośrednictwem serwera proxy? Przeglądałem kod proxy-węzła-http, ale to trochę przesadziłem, ponieważ jestem nowy w węźle.

https://gist.github.com/2475547 lub:

<code>var express = require('express'),
    routingProxy = require('http-proxy').RoutingProxy(),
    app = express.createServer();

var apiVersion = 1.0,
    apiHost = my.host.com,
    apiPort = 8080;

function apiProxy(pattern, host, port) {
    return function(req, res, next) {
        if (req.url.match(pattern)) {
            routingProxy.proxyRequest(req, res, {host: host, port: port});
        } else {
            next();
        }
    }
}

app.configure(function () {
    // API proxy middleware
    app.use(apiProxy(new RegExp('\/' + apiVersion + '\/.*'), apiHost, apiPort));

    // Static content middleware
    app.use(express.methodOverride());
    app.use(express.bodyParser());
    app.use(express.static(__dirname));
    app.use(express.errorHandler({
        dumpExceptions: true, 
        showStack: true
    }));
    app.use(app.router);
});

app.listen(3000);
</code>

questionAnswers(4)

yourAnswerToTheQuestion