有时,使用AWS Cloudfront作为Beanstalk环境的起点时,可能会发生重定向到Beanstalk环境的源站的情况。这可能是由于未配置Cloudfront以正确处理某些请求而导致的。要避免这种情况,请按照以下步骤进行操作:
步骤1:在Cloudfront控制台中创建一个新的分配。确保选择正确的区域并指定您的Beanstalk环境作为Origin Domain Name,并选择HTTP或HTTPS协议。
步骤2:在分配的“Behaviors”选项卡中,创建一个新的Behavior。确保匹配所有请求并将路径模式设置为“/*”。
步骤3:对于此行为,请指定以下缓存策略:无缓存。
步骤4:保存您的设置并启动Cloudfront分配。
以下是设置此解决方法的示例代码:
"Resources": { "CloudFrontDistribution": { "Type": "AWS::CloudFront::Distribution", "Properties": { "DistributionConfig": { "Origins": [ { "Id": "MyBeanstalkOrigin", "DomainName": { "Fn::GetAtt": ["ElasticBeanstalkEnvironment", "EndpointURL"] }, "CustomOriginConfig": { "HTTPPort": 80, "HTTPSPort": 443, "OriginProtocolPolicy": "match-viewer" } } ], "DefaultCacheBehavior": { "TargetOriginId": "MyBeanstalkOrigin", "ForwardedValues": { "QueryString": "false", "Cookies": { "Forward": "none" }, "Headers": [ ] }, "ViewerProtocolPolicy": "redirect-to-https", "MinTTL": 0, "MaxTTL": 31536000, "AllowedMethods": [ "GET", "HEAD", "OPTIONS" ], "CachedMethods": [ "GET",