标签: amazon-cloudfront

使用 EC2 作为 Cloudfront 源服务器

亚马逊最近添加了使用任何服务器作为 Cloudfront 源服务器的功能,消除了最初的仅限 S3 的限制。

我的问题是 - 我该如何设置?AWS web-gui 似乎只支持 S3 存储桶(仍然),并且 ec2 命令行工具似乎没有任何用于注册 Cloudfront 发行版的东西。

任何想法非常感谢!

谢谢,克里斯。

cdn amazon-cloudfront amazon-ec2

8
推荐指数
2
解决办法
1万
查看次数

模拟在中国防火墙后面的最佳方式是什么?

我们的 iOS 应用程序存在问题,该应用程序使用应用程序内购买来解锁可下载的内容 - 但似乎仅来自中国。出于这个原因,我们看到来自中国的许多负面评论。

我们的应用内购买过程涉及访问托管在 DigitalOcean 上的 https 服务器,该服务器验证收据并发回 Amazon CloudFront URL 以供下载。

我已经通过 greatfire.org 检查了我们的服务器,它恢复为绿色。CloudFront 或直接 S3 链接似乎也没有被阻止。

我已经在 PureVPN 上设置了一个帐户并使用了他们的一台中国服务器(通过它们发送所有流量),但是我不确定这些服务器是否真的在中国,因为下载过程有效,我可以访问 Gmail/Facebook/NYTimes .

我可以模拟在中国防火墙后面的最佳方式是什么?

ssl firewall https china amazon-cloudfront

8
推荐指数
0
解决办法
826
查看次数

使用 Amazon s3 和 Cloudfront 设置过期标头和缓存过期的最佳方法是什么

我们在 s3 上有一大堆照片。我们每天都会添加和删除它,但它目前有数百万张照片,如果可能,我们不想重写或更新。

我们没有在这些现有照片上设置任何过期标题。

我刚刚启动了 cloudfront 并将其指向我们的存储桶。

我现在有两个目标:

  1. 使用版本控制让旧照片从 Cloudfront 过期。
  2. 在某处(S3、CloudFront)设置 Far Future Expire 标头以通知浏览器他们应该永远保留这些文件。

这提出了几个问题。我可以通过一种设置实现上述两个目标吗?

我可以在存储桶级别、单张照片级别或云端级别进行此设置吗?

最好能够在 cloudfront 或 S3 存储桶级别进行任何缓存和远期过期标头设置,而不用担心单个照片级别的这些设置,特别是考虑到我们有数百万张照片没有这些设置已经在 s3 中。

感谢您的帮助,非常感谢!

amazon-s3 amazon-cloudfront

7
推荐指数
1
解决办法
5174
查看次数

从 CloudFront 请求 JS 文件时收到 403

这对我来说是新的,所以如果我不知道我在说什么,请原谅我(:我正在尝试通过子域通过向该子域添加 CNAME 来设置我自己的带有 CloudFront 和 S3 的 CDN 以指向云前线。

似乎我在尝试加载文件时收到了 403,这是原始 s3链接,在为所有人设置打开/下载权限后似乎可以正常工作。但是当尝试使用子域请求文件时:http : //cdn.chaoscod3r.com/libs/polyfills/json3_polyfill.js;好像我得到了那个 403。

谁能帮我解决这个问题?

amazon-s3 cname-record amazon-cloudfront

6
推荐指数
1
解决办法
1万
查看次数

具有 S3 源的 CloudFront 上的严格传输安全性?

出于速度和成本原因,我公司的网站有一个静态主页。我们使用 S3 作为 CloudFront 的来源。现在,我们想为整个域声明 Strict-Transport-Security,但 S3 似乎不发送我们指定的任何标头(除了以 x-aws-- 开头的标头之外)。CloudFront 似乎也没有任何自定义标头选项。

这可能吗?

ssl amazon-s3 amazon-cloudfront amazon-web-services

6
推荐指数
1
解决办法
1630
查看次数

S3/Cloudfront CORS 仅适用于某些文件

我真的很难让 Cloudfront 和 S3 将 Access-Control-Allow-Origin: * 添加到存储在 S3 上的视频文件的标题中(对于 iPhone 上的内联视频 - 似乎在其他地方都可以工作,但是内联视频仅适用于来自同一域的 iPhone,因此假设它与 CORS 相关)。

只有存储桶中的第一个文件具有正确的标头

curl -I -H "Origin: https
://example.com" http://cdn.example.com/0000d723-5c73-4d71-953c-d7e29e70f17b.jpg
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Length: 80962
Connection: keep-alive
Date: Thu, 02 Jun 2016 00:38:50 GMT
Access-Control-Allow-Origin: https://beek.co
Access-Control-Allow-Methods: GET
Access-Control-Max-Age: 3000
Access-Control-Allow-Credentials: true
x-amz-meta-md5-hash: 18692618d1f6865694f08fb2dcd12201
Last-Modified: Wed, 15 Feb 2012 03:08:14 GMT
ETag: "18692618d1f6865694f08fb2dcd12201"
Accept-Ranges: bytes
Server: AmazonS3
Vary: Origin,Access-Control-Request-Headers,Access-Control-Request-Method
Age: 63
X-Cache: Hit from cloudfront
Via: 1.1 284d225e590e6583c457dc0182ee6fe7.cloudfront.net (CloudFront)
X-Amz-Cf-Id: n9NmaT8pwHg5BZmZqoPAxUlGBiLR7BqD5rxodzjfpKi2mFthhGzGyw==
Run Code Online (Sandbox Code Playgroud)

但其他人都没有

curl …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-cloudfront cors

6
推荐指数
1
解决办法
1926
查看次数

AWS Cloudfront + 负载均衡器,url 从主域更改为负载均衡器子域

我的设置如下:

  1. 用户在浏览器上输入 example.com
  2. 请求转到 AWS CloudFront,后者将 HTTP 重定向到 HTTPS,并将请求转发到 AWS Elastic LoadBalancer (elb.example.com)
  3. LoadBalancer 将请求转发到运行 PHP Laravel 框架的 EC2 实例
  4. EC2 正常响应
  5. 用户在 example.com 上正确查看页面,其他一切对他来说都是透明的

所有这一切都是我想要的,但是......

  • 如果用户导航到页面上的任何按钮,浏览器上的 url 将变为 elb.example.com(它应该保持 example.com)
  • 如果我去查看页面源代码,页面上任何按钮的所有链接都有 elb.example.com 的基本网址(应该是 example.com)

原因是因为 EC2 看到来自负载均衡器的请求,因此它假定基本 url 是 elb.example.com 并相应地生成所有链接。

如何让 EC2 将基本 url 视为 example.com ?

domain-name-system load-balancing cdn amazon-cloudfront amazon-elb

6
推荐指数
1
解决办法
2万
查看次数

为什么 CloudFront 提供的 S3 存储桶中只有 index.html 可用,而没有其他内容?

我正在尝试通过 CloudFront 公开 S3 中托管的静态站点。

S3 存储桶( testyop1) 设置为托管静态网站(非公共模式),其存储桶策略为

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E...."
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::testyop1/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

网站托管配置声明这index.html是索引文档。

在 CloudFront 端,源域名设置为testyop1.s3-website-eu-west-1.amazonaws.com没有任何源路径。该名称取自 S3 网络托管配置(不带http://)。

我可以访问https://xxxxx.cloudfront.net, 以及https://xxxxx.cloudfront.net/index.html(其中 xxxxx 是 CloudFront 生成的名称)

所有其他调用https://xxxxx.cloudfront.net失败

403 Forbidden

Code: AccessDenied
Message: Access Denied
RequestId: F...D
HostId: i...V4X7l4=
Run Code Online (Sandbox Code Playgroud)

尽管.html存在文件(在根目录和子目录中)。

该错误消息是否来自 …

amazon-s3 amazon-cloudfront amazon-web-services

6
推荐指数
1
解决办法
3216
查看次数

静态网站前端是否需要使用 REST API 的 WAF?

我有两个网站

  1. www.mysite.com. -->hosted on s3 ,通过 Cloudfront 静态单页应用程序提供。

  2. 然后我有api.mysite.com,前端使用的。

我的公司正在使用WAF solution第三方,当前的单体应用程序受到它的保护。

对于新站点,我已将api.mysite.comWAF放在后面,但我不确定是否需要将静态站点也放在 WAF 后面?

这主要是关于防止站点遭受 DDOS 攻击或机器人等,我们之前有很多攻击,所以我想确保我以正确的方式做这件事。

web-server web-applications amazon-cloudfront amazon-web-services web-application-firewall

6
推荐指数
1
解决办法
2061
查看次数

AWS:如何将多个域重定向到另一个域上的页面?

我的目标

我有多个域(例如 10 或 20 个),我希望将这些页面上任何位置的任何访问者重定向到另一个域上的一个页面(例如我的 stackoverflow.com 个人资料页面)。

这包括

  1. 顶点域使用http(例如http://mydomain01.com
  2. 顶点域使用https(例如https://mydomain01.com
  3. 子域使用http(例如http://www.mydomain01.comhttp://blog.mydomain01.com
  4. 子域使用https(例如https://www.mydomain01.comhttps://blog.mydomain01.com
  5. 任何路径(例如http://mydomain01.com/some_pathhttps://www.mydomain01.com/another/path.html

加上我所有其他域(mydomain02.commydomain03.com等;每个域都有上述用例)。

我的研究

  1. 这篇 AWS 文章介绍了如何使用AWS S3AWS Route 53将 Internet 流量从 apex 域重定向到另一个域(我的这包括上面的列表中的案例 #1):这适用于,但不适用于。httphttps
  2. 这篇 AWS 文章介绍了如何使用AWS S3AWS Route 53AWS CloudFront重定向多种情况下的互联网流量(从表面上看,涵盖了我的 …

amazon-s3 redirect amazon-cloudfront amazon-web-services amazon-route53

6
推荐指数
1
解决办法
3729
查看次数