Próbuję zrobić:węzła proxy - Proxy cel localhost SSL z podstawowego serwera http
Proxy API Javy, który działa na https://127.0.0.1:443/api/
wzdłuż boku mojego UI, który działa na non-SSL http://127.0.0.1:1337/ w celu opłynąć niektóre problemy CORS.
Moja próba:
- Proxy API SSL na porcie 443 do mojego non-SSL portu rozwojowej 1338
- pełnomocnika mój UI do 1337
- Proxy 1137 do
:8080/index.html
i pełnomocnika 1338 do:8080/api/
- Dostęp moja aplikacja z localhost: 8080
Mój problem:
UI jest w porządku ... ale nie mogę trafić na API w :8080/api/httpSession/init
Tak, mogę wciąż hit API w https://localhost/api/httpSession/init
api.js - świadczy na index.html w: 1337
var app = express();
app.all('*', function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});
var options = {
changeOrigin: true,
target: {
https: true
}
};
httpProxy.createServer(443, '127.0.0.1', options).listen(1338);
start.js - pośredniczy 133 7 i 1338 do 8080
// First I start my two servers
uiServer.start(); // renders index.html at 1337
apiServer.start(); //
// I attempt to patch them back into one single non-SSL port.
app
.use('/', proxy({target: 'http://localhost:1337/'}))
.all('/api/*', proxy({target: 'http://localhost:1338/'}))
.listen(8080, function() {
console.log('PROXY SERVER listening at http://localhost:%s', 8080);
});
Polecam używać nginx jako odwrotnego proxy, aby osiągnąć to, czego potrzebujesz. [Tutaj] (https://www.garron.me/en/linux/nginx-reverse-proxy.html) to instrukcje, aby osiągnąć coś podobnego do tego, czego potrzebujesz. [To] (http://serverfault.com/questions/706694/use-nginx-as-reverse-proxy-for-multiple-servers) powinno również pomóc ... – mkhanoyan
Czy jest powód, że serwer proxy pośredniczy w twoich api dwukrotnie? ? Najpierw port 1338, a następnie port 8080 w/api /? –
Wiem, że to nie temat, ale możesz również użyć serwera WWW z odwrotnym proxy, aby osiągnąć to na tym samym porcie. Na przykład można użyć usług IIS lub Nginx, aby oddzielić odwrotne punkty końcowe proxy na jednym serwerze wirtualnym. –