Докер с промежуточным программным обеспечением Express и http — прокси-Как заставить маршрут принимать только внутренние маршруты

#javascript #docker #express #api-gateway #http-proxy-middleware

Вопрос:

Я создаю шлюз API с использованием Docker, Express и промежуточного программного обеспечения http-прокси. Одним из требований является то, что некоторые маршруты принимают только внутренние запросы. Например, точкой входа для приложения docker является localhost:8080. У меня есть 2 API, которые подключаются к шлюзу, «актеры» и «фильмы». Актеры запускаются на локальном хосте:3000/актеры и фильмы на локальном хосте:8000/фильмы. Мне нужно, чтобы актеры были доступны из внешнего мира, в то время как фильмы могут быть доступны только актерам. Это файл маршрутов

 const ROUTES = [
  {
    url: "/movies",
    auth: false,
    serviceName: "movies",
    rateLimit: {
      windowMs: 15 * 60 * 1000,
      max: 10,
    },
    proxy: {
      target: "http://5885f81b8499.ngrok.io/movies",
      changeOrigin: true,
      pathRewrite: {
        [`^/movies`]: "",
      },
      onProxyReq(proxyReq, req, res) {
        console.log('here', req.get("host"));
      }
    },
  },
  {
    url: "/actors",
    auth: false,
    serviceName: "actors",
    rateLimit: {
      windowMs: 15 * 60 * 1000,
      max: 10,
    },
    proxy: {
      target: "https://9be98ef1383f.ngrok.io/actors",
      changeOrigin: true,
      pathRewrite: {
        [`^/actors`]: "",
      },
    },
  },
];

export default ROUTES;