要将S3存储桶重定向到另一个域名,您可以使用AWS S3和Route 53的组合。以下是解决方法的代码示例:
import boto3
s3 = boto3.client('s3')
# 创建存储桶
s3.create_bucket(
Bucket='your-bucket-name',
CreateBucketConfiguration={
'LocationConstraint': 'your-aws-region'
}
)
# 配置存储桶为静态网站托管
s3.put_bucket_website(
Bucket='your-bucket-name',
WebsiteConfiguration={
'ErrorDocument': {'Key': 'error.html'},
'IndexDocument': {'Suffix': 'index.html'},
}
)
route53 = boto3.client('route53')
# 创建一个主域名
route53.change_resource_record_sets(
HostedZoneId='your-hosted-zone-id',
ChangeBatch={
'Changes': [
{
'Action': 'CREATE',
'ResourceRecordSet': {
'Name': 'your-domain.com',
'Type': 'A',
'AliasTarget': {
'HostedZoneId': 'your-s3-hosted-zone-id',
'DNSName': 'your-bucket-name.s3-website-your-aws-region.amazonaws.com',
'EvaluateTargetHealth': False
}
}
}
]
}
)
确保将your-domain.com
替换为您的域名,your-hosted-zone-id
替换为您的Route 53托管区域的ID,your-s3-hosted-zone-id
替换为您的S3存储桶的托管区域ID,your-bucket-name
替换为您的S3存储桶名称,以及your-aws-region
替换为您的AWS区域。
这样,当访问your-domain.com
时,它将自动重定向到S3存储桶中的静态网站。