У меня есть два сервера в приложении nodejs.
Я использую два сервера http-server
для статического html-файла (то есть index.html) и express
для API узлов. Теперь я получаю ошибку фильтра CORS. даже если я включил фильтр Cors на обоих серверах.
Я пробовал эти комбинации.
1. Включите его на сервере Node с помощью промежуточного программного обеспечения.
т.е. следующий код.
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
next();
});
и http-server
с помощью следующей команды.
http-server --cors
Я все еще получаю следующую ошибку.

Я предполагаю, что включение на обоих серверах не будет работать, поскольку оба ресурса будут иметь разные значения CORS. Но как я могу решить это? Любая помощь будет оценена.
Глядя на вкладку сети в инструментах разработчика, я вижу следующее для запроса API.

Обновление 1-го пакета cors
Я пробовал следующие примеры кода при каждом перезапуске сервера.
app.use(cors());
и этот тоже.
app.use(cors());
app.options('*', cors());
и этот с определенной конфигурацией.
app.use(cors());
var whitelist = ['http://localhost:8080']
var corsOptions = {
origin: function (origin, callback) {
if (whitelist.indexOf(origin) !== -1) {
callback(null, true)
} else {
callback(new Error('Not allowed by CORS'))
}
}
}
app.options('*', cors(corsOptions));
Каждый раз, когда я получаю один и тот же ответ в консоли вывода.
Это маршруты.
module.exports = function(app){
app.get('/get_tuna/:id', function(req, res){
tuna.get_tuna(req, res);
});
app.get('/add_tuna/:tuna', function(req, res){
tuna.add_tuna(req, res);
});
app.get('/get_all_tuna', function(req, res){
console.log('###### ++++++++++ 2 - This is called first');
tuna.get_all_tuna(req, res);
});
app.get('/change_holder/:holder', function(req, res){
tuna.change_holder(req, res);
});
app.get('/api/get_available_vault_balance/', function(req, res){
/// --------- 3
console.log('VAULT >> API is called >>> :) ');
vaultbackendservice.get_available_vault_balance(req, res);
});
}