【发布时间】:2022-02-23 18:39:09
【问题描述】:
我为 S3 静态站点部署创建了 Cloudformation 模板。
必须在云端部分指定域名。首先,我创建了这样的模板并进行了尝试:
...
"DomainName": {
"Fn::GetAtt": [
"S3BucketRoot",
"DomainName"
]
},
...
所以到目前为止一切都正确。只有一个 Origin 域未正确获取。返回的是 Amazon S3 bucket 源域名,而不是 Amazon S3 bucket configured as a website。这会导致对域的请求无法正确加载。
然后我在云端手动输入Amazon S3 bucket configured as a website Origin 域名。
在此工作正常后,我想在模板中对其进行更改,因此我对其进行了调整:
...
"DomainName": {
"Fn::GetAtt": [
"S3BucketRoot",
"WebsiteURL"
]
},
...
更新堆栈时,我现在收到错误,即域名中不能有冒号。这来自http://...
所以我现在的问题是,我如何才能获得正确的域名或如何从 WebsiteURL 中删除 http://?
我的 S3 配置如下所示:
"S3BucketRoot": {
"Type": "AWS::S3::Bucket",
"DeletionPolicy": "Delete",
"Properties": {
"AccessControl": "PublicRead",
"BucketName": {
"Fn::Sub": "${AWS::StackName}-root"
},
"WebsiteConfiguration": {
"ErrorDocument": "404.html",
"IndexDocument": "index.html"
}
}
},
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-cloudformation amazon-cloudfront