Persisting a cookie based session over node-http-proxy
I did what you are asking by manually looking at the response, seeing if it is a set-cookie, snipping off the JSESSSIONID, storing it in a variable, and passing it on all subsequent requests as a header. This way the reverse proxy acts as a cookie.
on('proxyReq', function(proxyReq){ proxyReq.setHeader('cookie', 'sessionid=' + cookieSnippedValue)
Hi @tomswift does your local server run on http protocol, but the session cookie receive from the remote server carry with Secure;
like:
'set-cookie':
[ 'JSESSIONID=COOKIEWITHSECURE98123; Path=/;HttpOnly;Secure;']
If so, before your local server response to the client, extract set-cookie
from the original response(response from remote server to local server) header, remove the Secure;
and put the rest of it into the proxy response (response from local server to client ) header like:
'set-cookie':
[ 'JSESSIONID=COOKIEWITHSECURE98123; Path=/;HttpOnly;']
then the client will take the session cookie automatically.
Hope it may help.