:노드 프록시 - 프록시 기본 HTTP 서버에서 SSL localhost를 대상
프록시를 위해 비 SSL http://127.0.0.1:1337/에서 실행 측면을 따라 https://127.0.0.1:443/api/
내 UI를 실행하는 자바 API를 일부 CORS 문제를 일거수기했다.
내 시도 :
- 프록시 1338 년
- 프록시 내 비 SSL 개발 포트에 SSL 포트 443에서 API를
:8080/index.html
및 프록시 1337 - 내 UI 프록시 1137 8080
:8080/api/
에 내 문제 :
UI를 잘 온다 ...하지만 난 :8080/api/httpSession/init
에서 API를 공격 할 수 그래, 난 여전히 https://localhost/api/httpSession/init
api.js에서 API를 칠 수있다 - 프록시 133 1,337
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 -은 index.html을 렌더링을 7 1338 프록시 문제에 대한
// 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);
});
필요한 것을 얻기 위해 리버스 프록시로 nginx를 사용하는 것이 좋습니다. [여기] (https://www.garron.me/en/linux/nginx-reverse-proxy.html)는 필요한 것과 비슷한 것을 얻기위한 지침입니다. [이] (http://serverfault.com/questions/706694/use-nginx-as-reverse-proxy-for-multiple-servers)도 도움이됩니다 ... – mkhanoyan
API를 두 번 프록시하는 이유가 있습니까? ? 먼저 1338 번 포트로, 그 다음 포트 8080으로/api /? –
나는 이것이 주제에서 벗어나지 만 같은 포트에서 이것을 달성하기 위해 역방향 프록시가있는 웹 서버를 사용할 수도 있음을 알고 있습니다. 예를 들어 IIS 또는 Nginx를 사용하여 하나의 가상 서버에서 역방향 프록시 끝점을 구분할 수 있습니다. –