有没有办法使用报头中的数据从CloudFront重定向到apigateway [英] Is there a way to redirect from cloudfront to apigateway using data in headers

查看:0
本文介绍了有没有办法使用报头中的数据从CloudFront重定向到apigateway的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在AWS apigateway上设置API。想法是URL的格式是"Example.com/apiname/Path",阶段(版本)是html头文件。如何根据URL格式使用Route53和/或CloudFront将用户重定向到特定的API和Stage

作为触发lambda的事件,我们尝试了全部4种(观众请求/响应、源请求/响应)。每次响应都是502或503。我们尝试使用默认的lambda Hello world代码,也尝试仅返回{‘Status’:200},但响应相同(503)

def lambda_handler(event, context):
    print('In lambda')
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

CloudWatch中没有日志,lambda中的监视图也没有日志,因此我假设lambda中的代码从未执行过

推荐答案

我这周实际上一直在做同样的事情,到目前为止就是这样(对不起,它在node.js中,但您可能可以转换它)

exports.handler = async (event, context) => {
  const response = {
      status: '301',
      statusDescription: 'Found',
      headers: {
          location: [{
              key: 'Location',
              value: "{URL_TO_REDIRECT_TO}",
          }],
      },
  };
  return response
}

它将返回301重定向到您指定的任何URL,该URL可以是您的API网关

这篇关于有没有办法使用报头中的数据从CloudFront重定向到apigateway的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆