我想将我的根域重定向到www.domain.com。该网站是使用s3 CloudFront和route53发布的。
我已经看了很多关于如何使用s3进行重定向的文档,但是我无法做到这一点,因为已经有一个存储桶,其根域位于某处。因此,我无法使用我的根域作为名称来创建存储桶。另外,我怀疑此s3重定向是否适用于https请求。
在不使用s3存储桶的情况下,我还没有看到任何有关重定向的博客。
所以我如何将HTTP / https根域重定向到aws中的www子域。
答案 0 :(得分:2)
您不能使用Route 53进行重定向(毕竟这是DNS配置服务,而重定向是HTTP操作)。
如果您不能使用S3,另一种解决方案可能是将CloudFront与Lambda@Edge函数一起使用。
如果主机名不是www
域,则可以对www
域执行redirect。
该功能可能类似于以下内容
def lambda_handler(event, context):
request = event["Records"][0]["cf"]["request"]
response = event["Records"][0]["cf"]["response"]
# Generate HTTP redirect response with 302 status code and Location header.
if request['headers']['host'][0]['value'] != 'www.example.com':
response = {
'status': '302',
'statusDescription': 'Found',
'headers': {
'location': [{
'key': 'Location',
'value': 'https://www.example.com/{}' .format(request['uri'])
}]
}
}
return response