layout: post title: NodeJS로 Reverse Proxy 구현하기 categories: [dev] tags:
API Gateway를 NodeJS로 구현하려고 한다. NodeJS에서 찾아보니 express-gateway
란 라이브러리가 가장 완성도 있었다. 그러나 Document에 정보가 부족하고 업데이트가 안된지 오래된 것으로 확인됬다. ~Oh.. sit!~ 그래서 직접만들기로 맘을 먹었다. 그리고 일단 Reverse Proxy 기능이 필요하기에 찾아보기로 한다.
웹 서버를 위한 express
와 프록시를 위한 http-proxy-middleware
를 이용하기로 했다. 두 라이브러리 전부 사용자가 많고 최근에도 계속 업데이트 중이다. 이제 기본적인 기능은 갖춰진 상태로 바로 코드를 작성할 수 있다.
const { createProxyMiddleware } = require("http-proxy-middleware");
const apiProxy = createProxyMiddleware("/api", {
target: "<http://www.example.org>",
});
// shorthand syntax for the example above:
const apiProxy = createProxyMiddleware("<http://www.example.org/api>");
위 함수로 Middleware를 만들고 Router에 등록만 시키면 된다.
localhost에서 네이버 뉴스 페이지를 띄우려 한다. 네이버 뉴스 기본 사이트의 링크는 https://news.naver.com/
이다.