Ho un back-end e un'applicazione front-end in esecuzione su due server diversi (host). Per evitare l'uso di CORS e semplificare la comunicazione, vorrei servire il front-end statico con un'applicazione Node.js. Le richieste al back-end verrebbero quindi inoltrate all'applicazione back-end all'interno dell'applicazione Node.js. Su entrambi i lati viene utilizzato un server protetto HTTPS.
C'è uno strumento chiamato http-proxy-middleware
che è in grado di creare un proxy per tutte le richieste sul retro -end server. Sto usando il seguente script:
var express = require('express');
var proxy = require('http-proxy-middleware');
var options = {
target: 'https://[server]',
changeOrigin: true,
secure: true
};
var exampleProxy = proxy(options);
var app = express();
app.use('/api', exampleProxy);
app.use(express.static(__dirname + "/public"));
app.listen(process.env.PORT || 8080);
Poiché la connessione viene effettuata tramite HTTPS e il server back-end accetta solo le richieste HTTPS, mi aspetto che questo metodo sia sicuro. Ma è così? Esiste un possibile vettore di attacco? È possibile che l'implementazione di http-proxy-middleware
rilasci i dati attraverso la comunicazione HTTPS?