我正在尝试自动部署一个静态网站。我有一个静态网站(angular/javascript/html),需要使用AWS Cloudfront CDN。在
s3dnsname = self.template.add_parameter(Parameter(
"S3DNSName",
Description="The DNS name of an existing S3 bucket to use as the "
"Cloudfront distribution origin",
Type="String",
))
myDistribution = self.template.add_resource(Distribution(
"myDistribution",
DistributionConfig=DistributionConfig(
Origins=[Origin(Id="Origin 1", DomainName=Ref(s3dnsname),
S3OriginConfig=S3Origin())],
DefaultCacheBehavior=DefaultCacheBehavior(
TargetOriginId="Origin 1",
ForwardedValues=ForwardedValues(
QueryString=False
),
ViewerProtocolPolicy="allow-all"),
Enabled=True,
HttpVersion='http2'
)
))
这是我的代码,我得到一个错误“参数Origin DomainName没有引用有效的S3 bucket。”
我查阅了几篇关于这方面的文章/博客,他们都指出要添加以下内容:
^{pr2}$有人能告诉我要在哪里加这个零件吗?在
更新: 我试图用下面的CustomOriginConfig替换S3OriginConfig:
myDistribution = self.template.add_resource(Distribution(
"myDistribution",
DistributionConfig=DistributionConfig(
Origins=[Origin(
Id="Origin 1",
DomainName=Ref(s3dnsname),
CustomOriginConfig=CustomOriginConfig(
OriginProtocolPolicy="http-only",
HTTPPort=80,
HTTPSPort=443))],
DefaultCacheBehavior=DefaultCacheBehavior(
TargetOriginId="Origin 1",
ForwardedValues=ForwardedValues(
QueryString=False
),
ViewerProtocolPolicy="allow-all"),
Enabled=True,
HttpVersion='http2'
)
))
运行这个之后,我得到一个错误“NameError:global name'CustomOriginConfig'is not defined”
我遗漏了一些我无法辨认的东西。在
以下是对我有效的解决方案:
并将代码改为:
^{pr2}$我用这个例子:https://github.com/cloudtools/troposphere/blob/master/examples/CloudFront_S3.py
希望这能帮助所有面临同样问题的人。在
相关问题 更多 >
编程相关推荐