Я пытался просмотреть прошлые ответы на вопросы такого типа, например следующие, но все они выдают различные ошибки:
- http-proxy-middleware, как скопировать все заголовки cookie/cookie< /а>
- https://github.com/chimurai/http-proxy-middleware/issues/ 78а>
- http-proxy-middleware, как скопировать все заголовки cookie/cookie< /а>
Мои настройки прокси-сервера возвращают правильный Response Headers
с установленными файлами cookie: set-cookie: JSESSIONID=yElsHUaPE8Ip_AAD_oIfTQ; Path=/; Secure; HttpOnly;
. Это не сессионные файлы cookie.
Однако мой вход в систему официально не удался, потому что JSESSIONID
не сохраняется в виде файла cookie.
Вот мои настройки прокси:
const proxyTable = {
"/url": "http://localhost:4040/url",
"proxy.url.com/": "http://localhost:4040/",
};
const signin_proxy_options = {
target: host,
autoRewrite: true,
secure: true,
reqBodyEncoding: null,
changeOrigin: true,
logLevel: "debug",
router: proxyTable,
protocolRewrite: "http",
cookieDomainRewrite: { "*": "" },
onProxyRes: function(proxyRes, req, res) {
if (proxyRes.headers["set-cookie"] !== undefined) {
console.log("** SET-COOKIE: ", proxyRes.headers["set-cookie"]);
const cookieJar = proxyRes.headers["set-cookie"];
// cookieJar = 'JSESSIONID=yElsHUaPE8Ip_AAD_oIfTQ; Path=/; Secure; HttpOnly;'
var temp = cookieJar.split(";")[0].split("=");
// temp = [ 'JSESSIONID', 'yElsHUaPE8Ip_AAD_oIfTQ' ]
res.cookie(temp[0], temp[1]);
}
},
};
// Proxy configuration
const signin_proxy = proxy(signin_filter, signin_proxy_options);
app.use("/signin", signin_proxy);
В случае успеха сервер возвращает 302
для перенаправления. Может ли это повлиять?? Вот почему у меня есть proxyTable...
Кроме того, поскольку похоже, что ответ в порядке, я удалил поле onProxyRes
, надеясь, что оно установится автоматически, но тоже не повезло.
Я ценю любые идеи/решения.