【问题标题】:How can I make apigateway forward root path to integrated http endpoint?如何使 apigateway 转发根路径到集成的 http 端点?
【发布时间】:2021-03-12 18:21:11
【问题描述】:

我在 AWS 中创建了一个 REST api 网关并将其配置为将所有请求传递到一个 http 端点。我的配置是

部署到阶段 (dev) 后,它会给我一个调用 URL,例如 https://xxxx.execute-api.ap-southeast-2.amazonaws.com/dev

如果我通过附加一个子路径来调用 url,它工作正常:https://xxxx.execute-api.ap-southeast-2.amazonaws.com/dev/xxxxx`,我可以看到它将请求转发到下游 http 端点。但是,如果我调用基本 url:https://xxxx.execute-api.ap-southeast-2.amazonaws.com/dev,它不会转发任何请求。如何在没有任何子路径的情况下使其与基本调用 url 一起工作?

我厌倦了在 API 网关中添加额外的 / 路径资源,但它不允许我添加它。

【问题讨论】:

    标签: amazon-web-services aws-api-gateway


    【解决方案1】:

    应用程序必须能够接收任何路径的请求,包括根路径:/。路径为 /{proxy+} 的 API Gateway 资源会捕获除根路径之外的所有路径。对根路径发出请求会导致来自 API Gateway 的 403 响应,并带有消息 Missing Authentication Token。

    要修复此遗漏,请将路径设置为 / 的附加资源添加到 API,并将该新资源链接到与现有 /{proxy+} 资源中使用的相同的 http 端点。

    更新后的 OpenAPI 文档现在类似于以下代码示例:

    {
        "openapi": "3.0",
        "info": {
            "title": "All-capturing example",
            "version": "1.0"
        },
        "paths": {
            "/": {
                "x-amazon-apigateway-any-method": {
                    "responses": {},
                    "x-amazon-apigateway-integration": {
                        "httpMethod": "POST",
                        "type": "aws_proxy",
                        "uri": ""
                    }
                }
            },
            "/{proxy+}": {
                "x-amazon-apigateway-any-method": {
                    "responses": {},
                    "x-amazon-apigateway-integration": {
                        "httpMethod": "POST",
                        "type": "aws_proxy",
                        "uri": ""
                    }
                }
            }
        }
    }
    

    【讨论】:

    • 如何在API网关中添加资源/?我收到此错误`资源的路径部分只允许 a-zA-Z0-9._- 或有效的贪婪路径变量和开头和结尾的花括号。 `.
    • 我已经更新了答案,希望对你有帮助
    • 我想知道您如何在 API 网关中做到这一点。我已经更新了我的问题并留下了截图。它不允许我创建路径为 / 的资源。
    • 不需要再创建一个子资源,直接到/resource再创建一个ANY方法
    猜你喜欢
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    相关资源
    最近更新 更多