在 AWS Cloudfront 上,我想将 /api/* 请求路由到外部 api

在 AWS Cloudfront 上,我想将 /api/* 请求路由到外部 api

我对 Cloudfront (一般是 AWS) 还不太熟悉,希望设置一种行为,以便任何请求例如

test.com/api/*

转到我们拥有的现有 API,但它位于单独的域中,例如

staging.test.com/api

这是允许的行为吗?我可能需要在 CORS 中允许接收 API,但我只是想知道如何将其设置为云端

我曾尝试使用 lambda 函数以及路线

例如


    
    var response = {
        statusCode: 302,
        statusDescription: 'Found',
        headers:
            { "location": { "value": "https://staging.test.com.au/api/" + redirectPath } }
        }

    return response;

这似乎不起作用。

所以我只是想知道解决这个问题的正确方法是什么,我只能找到使用 API 网关的参考,但这不是我想要的。

答案1

origin您可以使用和来实现behavior。为和定义原点,staging.test.com/api并使用路径模式添加新行为/api/*

细节: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html?icmpid=docs_cf_help_panel#DownloadDistValuesPathPattern

相关内容