覆盖 express-gateway 配置

Posted

技术标签:

【中文标题】覆盖 express-gateway 配置【英文标题】:Override express-gateway config 【发布时间】:2020-04-11 10:45:39 【问题描述】:

我正在为 Amazon ECS 容器部署一个快速网关,我试图找出在 gateway.config.yml 覆盖 serviceEndpoint 部分的最佳方法,因为服务 URL 明显不同。

我需要改变这个

serviceEndpoints:
  user:
    url: 'http://localhost:3001'
  auth:
    url: 'http://localhost:3004'
  customer:
    url: 'http://localhost:3002'

对此:

serviceEndpoints:
  user:
    url: 'http://user.service:3001'
  auth:
    url: 'http://auth.service:3004'
  customer:
    url: 'http://customer.sevice:3002'

等等。

我认为我可以维护 2 个配置文件副本并在 Docker 构建中交换它们,但我认为这不是最好的选择,我认为实现服务发现将是另一种选择。

有什么想法吗?

TIA!

【问题讨论】:

【参考方案1】:

我找到了解决方案,配置现在使用 ENVIRONMENT 变量为:

服务端点: 用户: 网址:'http://$USER_SERVICE:-localhost:$USER_SERVICE_PORT:-3001' 授权: 网址:'http://$AUTH_SERVICE:-localhost:$AUTH_SERVICE_PORT:-3004' 顾客: 网址:'http://$CUSTIMER_SERVICE:-localhost:$CUTOMER_SERVICE_PORT:-3002'

一切正常。

问候。

【讨论】:

我不知道为什么,但我必须使用 dotenv 进行 express-gateway 才能看到我的 .env 变量。 import dotenv from 'dotenv';dotenv.config();

以上是关于覆盖 express-gateway 配置的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Nginx 反向代理将 Express-Gateway “主机”配置属性绑定到 localhost?

如何正确使用 express-gateway 对 Web 应用程序进行身份验证?

API网关express-gateway初体验

expr的运用

antlr4 接触

python exec() 菜鸟教程上的例子,最后一个结果为34的看不懂,求教