Node.js重定向 GET 请求会丢失源标头



My Node.js应用程序使用此函数将GET请求重定向到特定URL:

function forwardGetRequest(req, res, url){
res.redirect(url);
}

但是,当我将其与网页上的JavaScript/AJAX请求结合使用时,出现以下错误:

访问控制允许原点

不允许源空

关于 CORS,我已经在我的应用程序中正确设置了我的域,但这里的问题是此重定向不会转发标头中的 Origin

为了证明这一点,当我直接从 AJAX 请求向"url"发出请求时,而不是通过 Node.js 应用程序代理,在标头中正确设置了 Origin,并且我得到了正确的响应。

你能试试下面的代码吗?

const http = require('http');
function forwardGetRequest(req, res, url){
const baseUrl = "" // change port here
var connector = http.request({
host: baseUrl,
path: req.url,
method: req.method,
headers: req.headers // don't forget to add headers
}, (resp) => {
// check resp here.
resp.pipe(res);
});
}

最新更新