我正在使用http-proxy-middleware代理我的API调用。
我如何代理多个目标主机?我已经查阅了相关问题,但仍然无法理解。
参考https://github.com/chimurai/http-proxy-middleware/issues/12,允许我使用代理表,但是
我考虑使用模式匹配来代理多个主机,但会出现另一个问题,因为我有几个主机的URL链接几乎相同。
例如:
解决方案 1
方案二
解决方案3
感谢您关注这个问题!
我如何代理多个目标主机?我已经查阅了相关问题,但仍然无法理解。
参考https://github.com/chimurai/http-proxy-middleware/issues/12,允许我使用代理表,但是
target
应该填写什么链接呢?因为我有多个目标主机。我考虑使用模式匹配来代理多个主机,但会出现另一个问题,因为我有几个主机的URL链接几乎相同。
例如:
- https://website1.com/api/v1.1/{endpoint}
- https://website2.com/api/{endpoint}
- https://api.website3.com/api/{endpoint}
解决方案 1
const proxyOptions = proxy({
target: ["https://website1.com", "https://website2.com", "https://api.website3.com"],
changeOrigin: true,
loglevel: "debug"
});
方案二
const proxyTable = {
"/api": ["https://website1.com", "https://website2.com", "https://api.website3.com"]
};
const proxyOptions = proxy({
target: "http://localhost:3000",
router: proxyTable,
changeOrigin: true,
loglevel: "debug"
});
解决方案3
server.use(
proxy("/api", { target: "https://website1.com", changeOrigin: true }),
proxy("/api", { target: "https://website2.com", changeOrigin: true }),
proxy("/api", { target: "https://api.website3.com", changeOrigin: true })
);
安装代理
server.use("/api", proxyOptions)
感谢您关注这个问题!