具有多路径的AWS API Gateway自定义域

时间:2018-08-06 06:12:17

标签: amazon-web-services dns aws-lambda aws-api-gateway serverless

我在Lambda无服务器部署中在API Gateway注册了一些服务。 两种服务在从AWS API Gateway本身命名的长域上均运行良好。 然后,我尝试设置一个自定义域,以将所有服务收集到一个域中,并按路径拆分服务。

这是我想做的示例(2服务示例):

1. User Service registered on user-api-service Gateway API

2. Order Service registered on order-api-service Gateway API

我要使用以下设置添加自定义域:

1. api.myapp.com/user path with destination user-api-service Gateway
    API
2. api.myapp.com/order path with destination order-api-service Gateway
    API

我试图进行设置,但是它不起作用。这就是问题所在:

始终使用根目录的路径!

无论我做什么,都永远不会使用定义的路径。而且只有第一个注册的映射有效!

根据我的设置:

应该调用

api.myapp.com/user/register进行注册,但是它不起作用。据说是404还是找不到

但是它正在使用根路径:

api.myapp.com/register

任何自定义设置都表明API Gateway文档没有告诉我们吗?

该错误该怎么办?

1 个答案:

答案 0 :(得分:0)

我假设您已经创建了自定义域,并将其附加到API网关以进行基本路径映射。考虑到这一点,您可以根据需要添加具有自定义基本路径的基本路径映射。

  1. 转到AWS控制台中的API网关
  2. 向下滚动到“自定义域名”
  3. 在这里您将看到自定义域
  4. 单击“编辑”选项
  5. 现在,您可以将映射添加为“用户”或“订单”,并选择您需要将此基本路径附加到“ api.myapp.com/user/*”的服务

保存此设置后,您可以在

上运行API

注意:如果以前已经附加了其他服务,则不能使用相同的基本路径。

如果您尚未创建自定义域,请先在route52中创建自定义域,然后将该自定义域添加到API网关自定义域部分以进行进一步处理