Мое приложение состоит из внешнего сервера (React, служат в качестве статического) и внутреннего сервера (Express). Я обнаружил, что всякий раз, когда я отправляю запросы с пользовательскими заголовками, отправляется предварительный запрос. Это увеличивает задержку моего приложения. Я хотел бы избежать этих предварительных запросов.
Например,
frontend: example.web.com
backend: 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.