代理配置反应

时间:2018-06-08 18:22:40

标签: javascript reactjs proxy http-headers

我需要从服务器的获取请求中获取JSON响应。我设置了一个代理,并且在使用代理安全时我得到403禁止响应:false。但我可以从浏览器URL访问数据库。

可能是什么原因?

另外我想添加"绕过"在package.JSON中反应代理配置。 我该怎么办?

  "bypass": function (req, res, proxyOptions) {
            req.headers['Access-Control-Allow-Origin'] = "*";
            req.headers['Access-Control-Allow-Methods'] = 'GET,PUT,POST,DELETE';
            req.headers['Access-Control-Allow-Headers'] = 'Content-Type';
        }

谢谢!

3 个答案:

答案 0 :(得分:0)

因为问题出在Dataset<Tuple2<String, SomeClass>> groupedAndReducedDS = ds.groupByKey( (MapFunction<SomeClass, String> ) x -> { return x.getID();}, Encoders.STRING()) .reduceGroups((x,y) -> { if (x.getTime().after(y.getTime())) return x; else return y; }).withColumnRenamed("ReduceAggregator(SomeClass)","abc"); Dataset<Tuple2<SomeClass1, Row>> joinedDS = dsOfSomeClass1.joinWith( b, dsOfSomeClass1.col("COLA") .equalTo(groupedAndReducedDS.col("abc.COLA"))); 我认为发生这种情况是因为服务器只接受https连接。

答案 1 :(得分:0)

好的,我解决了这个问题。我使用create-react-app webpack文件(webpack.config.dev和webpackDevServer)来设置代理:

devServer: {
        proxy: {
            '/api': {
                target: '*****',
                secure: false,
                changeOrigin: true,
                logLevel: "debug",
                bypass: function (req, res, proxyOptions) {
                    res.header('Access-Control-Allow-Origin', '*');
                    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
                    res.header('Access-Control-Allow-Headers', 'Content-Type');
                }
            }
        }
    },

然后我在获取请求中添加了credentials: 'include',因为浏览器没有发送带有请求的cookie。 希望这会对某人有所帮助。

此外,如果您使用的是http和localhost,浏览器将不会捕获服务器发送的任何cookie。您必须使用https并将您的域名更改为Ex:dev.xxx.com

中的两个点

答案 2 :(得分:0)

或者您可以

npm我http-proxy-middleware --save

并在src内的create-react-app中创建setupProxy.js文件

const proxy=require("http-proxy-middleware")

module.exports=function(app){
    app.use(proxy('/api',{target:"http://localhost:5000"})) /your port 
}

该软件包将自动在此文件中查找,因此您无需导入任何地方