#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;