我的应用程序由前端服务器(React,用作静态)和后端服务器(Express)组成。我发现,每当我发送带有自定义标头的请求时,都会发送预检请求。这增加了我的应用程序的延迟。我想避免这些预检请求。
例如,
前端:example.web.com
后端:example.api.com
找到的一种方法是在我的后端中设置代理中间件,以便将请求从后端服务器发送到后端服务器,而不是从前端(浏览器)发送到后端。
const proxy = require('http-proxy-middleware');
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({
origin: "*",methods: "GET,HEAD,PUT,PATCH,POST,DELETE",allowedHeaders: "authorization",}));
let options = {
target: 'http://localhost:5001/',changeOrigin: true,logLevel: 'debug',onError: function onError(err,req,res) {
console.log('Something went wrong with the proxy middleware.',err)
res.end();
}
};
app.use("/",proxy(options),indexRouter);
我希望在发送非“简单”请求时避免执行预检请求。 我知道代理中间件方法可以避免预检请求,但是我不知道在Express应用程序中进行配置的正确方法。