我已经设置了一个新的域和Web服务器,以及一个CloudFront分发服务器.
CloudFront在其自己的域上成功提供该站点:d1lnegrqin0up5.cloudfront.net
我希望mpe.io(没有www)转到Web服务器,www.mpe.io转到CloudFront分发.因此,我为www.mpe.io设置了指向上述CloudFront域的CNAME记录.
我给了它几个小时,www.mpe.io转到CloudFront(在结果页面上显示"由cloudfront生成")但是所有请求都很简单,导致错误的请求错误.
请注意,如果我直接进入CloudFront域,一切正常.如何以与CloudFront域相同的方式使www.mpe.io成功提供文件?
具体细节:
域DNS记录:
分配设置:
我在从 gitlab 部署某些内容时收到错误。
$ aws cloudfront create-invalidation --distribution-id=EVB1B2B3B4B56 --paths "/*"
**An error occurred (ServiceUnavailable) when calling the CreateInvalidation operation (reached max retries: 2): CloudFront encountered an internal error. Please try again.**
Run Code Online (Sandbox Code Playgroud)
我通过从 AWS 控制台手动创建失效来解决这个问题,并且它有效。这种情况有时会发生导致这个错误,当时我是手动做的。永久的解决方案是什么?请帮我解决这个问题。
amazon-s3 amazon-web-services amazon-cloudfront gitlab gitlab-ci
我管理一个安全的PHP/MySQL Web应用程序,使用广泛的jQuery.今天,我们的应用程序日志中出现了一个奇怪的错误:
JS Error: Error loading script:
https://d15gt9gwxw5wu0.cloudfront.net/js/_MY_WEB_APP_DOMAIN_/r.js
Run Code Online (Sandbox Code Playgroud)
我们没有在我们的应用中使用亚马逊的Cloudfront CDN.当我转到无法加载的URL时,这些是唯一的内容:
if(typeof _GPL.ri=='function'&&!_GPL.isIE6){_GPL.ri('_GPL_r')}_GPL.rl=true;
Run Code Online (Sandbox Code Playgroud)
用户的用户代理字符串是:
Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Run Code Online (Sandbox Code Playgroud)
请注意:我不是触发此错误的用户.这是触发它的数千名用户之一.我无法控制客户端计算机.
有谁知道这里发生了什么?这是某种XSS攻击吗?
**更新**
看来我并不是唯一一个在他们的网站上发现过这种异常现象的人.我发现这个报告具有相同的确切行为,这似乎表明代码是无害的,但仍然没有答案它来自何处.
另外,我发现这个类似代码的pastebin似乎是某种广告脚本.再次,并非非常有帮助.
**更新2**
更多上下文:webapp使用多个第三方jQuery插件,但没有任何第三方分析.所有脚本都托管在我们自己的服务器上,对我们所有代码的审核都没有为"cloudfront"提供匹配.
这个应用程序已经生产了大约4年,这是这样的任何活动的第一个也是唯一一个实例.它没有发生过或之后,所以我怀疑我能够重现它.
我感兴趣的是这是否是某种攻击.如果是的话,我想知道如果它已经没有堵塞,如何堵塞它试图利用的漏洞.
我有一个iOS应用程序,我将对象上传到Amazon S3存储桶,并希望从CloudFront分配中检索.
我正在使用CloudFront与我的Amazon S3存储桶的私有发行版,当我生成一个签名的URL它不起作用时,在Safari中它返回AccessDenied AccessDenied和一些随机的字母数字字符串,我刚刚生成的我的签名URL(24小时内的到期日期) - - 现在应该过期了
我阅读了以下网站以获取我的所有安全凭证,我还通过阅读文档设置了我的S3 Bucket的私人发行版,我设置了可信赖的签名者,这基本上只是我的帐户
我已使用此站点的代码生成签名的URL
但是我再次没有运气,当我在Safari中放入链接时,它会返回AccessDeniedAccessDenied和一些随机的字母数字字符串.为什么?任何问题?我不遵循的任何步骤?
谢谢你的帮助!我很感激,这对我来说很重要,因为我需要创建一个应用程序,其中CloudFront对于速度和国际分发非常重要......
谢谢大家的支持,我想出了我的问题.我没有按照创建访问源标识的步骤.现在它就像一个魅力.哇噢!
我对我的原始服务器进行了一些更改,现在服务器提供来自同一网址的不同数据.
我试图通过在CF UI中执行以下失效来完全清除缓存:

但这没效果.如何一次完全擦除Amazon CloudFront缓存?
希望有人可以帮助我或指出我正确的方向.
我被要求了解如何使Akamai(或任何其他CDN或NGINX)修改实际的响应体.
为什么?
我要让CDN将所有"http://"请求更改为"https://",而不是修改App代码以使用"//"来表示外部资源请求.
这可能吗?
谁知道?
在设计iOS与之交互的应用程序AWS(例如S3,CloudFront等)时,在客户端与服务器上管理对这些服务的访问的优缺点是什么?
通过"管理访问",我的意思是将私有内容上传到S3,通过Cloudfront下载私有内容.
当然,处理访问的任何一方都需要存储AWS访问密钥和访问密钥.安全是其中一个问题.
我同样对这种设计选择对任一实现的性能和灵活性的影响感兴趣.
最后,是否存在实现混合方法的论据,其中客户端和服务器直接交互AWS,或者实现通常与其中一个或另一个相关,但不是两者兼而有之?
server-side amazon-s3 amazon-web-services ios amazon-cloudfront
TLDR:我们必须通过为来自Lambda函数的响应创建新的缓存行为来欺骗CloudFront 307重定向缓存.
你不会相信我们有多接近实现这一目标.我们在最后一步中陷入了沉重的困境.
商业案例:
我们的应用程序将图像存储在S3中,并使用CloudFront为其提供服务,以避免全球任何地理上的减速.现在,我们希望对设计非常灵活,并能够直接在CouldFront URL中请求新的图像尺寸!每个新的图像大小将按需创建,然后存储在S3中,因此第二次请求时,它将非常快速地提供,因为它将存在于S3中,并且还将缓存在CloudFront中.
让我们说用户上传了图像chucknorris.jpg.只有原始图像将存储在S3中,并且将在我们的页面上提供,如下所示:
//xxxxx.cloudfront.net/chucknorris.jpg
我们计算出我们现在需要显示200x200像素的缩略图.因此我们将图像src放在我们的模板中:
//xxxxx.cloudfront.net/chucknorris-200x200.jpg
当请求这个新的大小时,亚马逊网络服务必须在同一个存储桶中使用所请求的密钥即时提供.这样,图像将直接加载到CloudFront的同一URL中.
我在架构概述和工作流程中制作了一幅丑陋的图纸,介绍了我们如何在AWS中执行此操作:
以下是Python Lambda的结束方式:
return {
'statusCode': '301',
'headers': {'location': redirect_url},
'body': ''
}
Run Code Online (Sandbox Code Playgroud)
问题:
如果我们将Lambda函数重定向到S3,它就像魅力一样.如果我们重定向到CloudFront,它将进入重定向循环,因为CloudFront缓存307(以及301,302和303).只要我们的Lambda函数重定向到CloudFront,CloudFront就会调用API Getaway URL而不是从S3获取图像:
我想在CloudFront的Behaviors设置选项卡中创建新的缓存行为.此行为不应缓存来自Lambda或S3的响应(不知道内部究竟发生了什么),但仍应将任何后续请求缓存到此相同的已调整大小的图像.我正在尝试设置路径模式-\d+x\d+\..+$,添加Lambda函数的ARN添加"Lambda函数关联"并设置事件类型Origin Response.接下来,我将"默认TTL"设置为0.
但由于一些错误,我无法保存行为:
我们是在正确的方式,还是这个"Lambda功能协会"的想法完全不同?
caching amazon-s3 amazon-web-services amazon-cloudfront aws-lambda
有一段时间,我只是将我的网站内容存储在一个s3存储桶中,可以通过完整的URL访问所有页面.我想通过添加SSL使我的网站更安全,所以我创建了一个CloudFront Distribution以指向我的s3存储桶.
该网站将加载正常,但如果用户尝试刷新页面或他们尝试使用完整网址(即www.example.com/home)访问页面,他们将收到AccessDenied页面.
我的s3存储桶上有一个策略,它限制只访问Origin Access Identity,并将index.html设置为我的域根对象.
我不明白我错过了什么.
要演示,请随时访问我的网站.
你会注意到它如何将你重定向到kurtking.me/home.要重现错误,请尝试刷新页面或通过完整URL访问页面(即kurtking.me/life)
任何帮助都非常感谢,因为我一直试图绕过这个并在几天内寻找答案.
amazon-s3 access-denied amazon-web-services amazon-cloudfront
我想限制对某些IP的存取区访问.我知道如何通过限制访问特定IP地址来创建存储桶策略.
我的问题:这可以与CloudFront一起使用吗?怎么样?我是否只允许某些IP访问CloudFront?
amazon-s3 ×6
caching ×2
ios ×2
akamai ×1
aws-lambda ×1
cname ×1
domain-name ×1
gitlab ×1
gitlab-ci ×1
iphone ×1
javascript ×1
nginx ×1
security ×1
server-side ×1
xss ×1