我需要使用 cloudfront 和 s3 重定向我的 url
Posted
技术标签:
【中文标题】我需要使用 cloudfront 和 s3 重定向我的 url【英文标题】:I need to redirection for my url using cloudfront and s3 【发布时间】:2020-11-06 03:15:25 【问题描述】:我有一个网址说example.com/eu/blog/
,在这个页面上,我有一个按钮,当任何用户点击按钮时,它会转到oil-gas.com/en
(这是一个不同的网站)..现在我想要这个链接作为example.com/eu/blog/oil-gas/en
,目前我在example.com/eu/blog/oil-gas/en
中没有任何内容。
我使用了 apache proxypass 并且它可以工作,但我想知道我们是否可以使用 S3、cloudfront 来做到这一点.. 我们可以在 S3 中创建存储桶并启用带有重定向的静态托管...我希望 url 具体example.com/eu/blog/oil-gas/en
。请提供更多帮助或建议
【问题讨论】:
【参考方案1】:您可以通过添加 Lambda@Edge 函数在 CloudFront 中设置重定向。这将被添加到 Origin Response 事件中。
代码如下所示
def lambda_handler(event, context):
request = event["Records"][0]["cf"]["request"]
response = event["Records"][0]["cf"]["response"]
#If it matches this path perform a redirect
if request['uri'] == "url/to/redirect":
response =
'status': '302',
'statusDescription': 'Found',
'headers':
'location': [
'key': 'Location',
'value': 'http://example.com/eu/blog/oil-gas/en'
]
return response
这里有一些examples。
【讨论】:
以上是关于我需要使用 cloudfront 和 s3 重定向我的 url的主要内容,如果未能解决你的问题,请参考以下文章
Cloudfront 域名无法使用 S3、Cloudfront 和 Route 53 将 HTTP 重定向到 HTTPS
AWS CloudFront 和 S3,使用单一重定向处理 WWW 和 HTTPS
使用 CloudFront 和目录重定向的 AWS S3 静态网站托管
cloudfront 和 s3 301 重定向显示存储桶的裸域