Node.js重定向GET请求丢失了Origin标头

时间:2018-08-13 08:58:11

标签: node.js cors http-headers

我的Node.js应用程序使用此功能将GET请求重定向到特定的URL:

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

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

  

Access-Control-Allow-Origin不允许原始null

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

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

1 个答案:

答案 0 :(得分:-1)

您可以尝试以下代码吗?

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);
    });
}