Articles of cdn选

为自己托pipe的CDNconfigurationhtaccess文件

我正在尝试为我的网站设置一个自己托pipe的cdn,但是我在htaccess文件中遇到了一些问题,并且无法使其工作。 目前,作为CDN的ftp服务器具有以下文件系统结构: / www/ www/htaccess www/index.html www/cdn/* incremental/* full/* 我的.htaccess现在看起来像这样: Options All -Indexes <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule> #This snippet basically stops anyone viewing any file on your site that begins with "hta", this will protect it and make it somewhat safer. <Files […]

反向HTTP代理作为CDN原始服务器,如何处理上次修改以来的?

我正在尝试为CDN设置冗余的原始服务器,以便按需提供video文件。 目前的设置是,我有两个“媒体”服务器具有较大的存储容量,并运行nginx。 在这两台服务器的前面是另一个nginx服务器,它被设置为一个反向代理,将请求分解到每个服务器。 每个媒体服务器上存储了每个video的副本。 它们被复制到每个媒体服务器,但可能稍有不同。 因此,nginx会为video请求返回略微不同的LastModified标题,具体取决于nginx服务器提供的服务。 问题是,caching数据的CDN有时会向源服务器发送IMS(If Modified Since)请求,并使用该信息来确定是否需要刷新其caching中的video。 CDN为video提供字节范围请求,这些请求可以在两台服务器之间轻松拆分。 如果字节范围请求继续得到不同的最后修改标题,一切都搞砸了。 这是一个可解决的问题? 我是否需要使用其他一些机制来保持两台服务器之间的数据“同步”? 也许我可以使用rsync将数据从一个存储服务器复制到另一个存储服务器,并传入一个保留所有创build/修改时间的选项?

如何为dynamic站点的dynamic数量的域设置AWS Cloudfront?

设置 我们正在尝试使用CloudFront的Web / wix / etc-like网站pipe理系统。 它具有以下域和子域。 – 我们的域名:我们的主要网站 – admin.ourdomain:每个网站的pipe理界面,可通过https访问 – images.ourdomain:一个S3桶 – router.ourdomain:见下文 – [customersomething] .ourdomain:我们的免费用户的子域名 – [customersomething.com]:我们的高级客户的域名 该系统的工作方式,其中大部分域名是CNAME-d到router.ourdomain(因为这是我们的客户与他们不同的域名注册商等最简单的方式),而router.ourdomain是我们的别名ELB,然后我们的EC2-s上的PHP正在处理基于HTTP_HOST值的站点,而来自S3的图像。 我们的计划 现在我们想把这些东西放在CloudFront的后面。 大部分东西是微不足道的。 把S3放在CF后面很容易。 通过asset.ourdomain子域很容易将每个ourdomain / *。(js | css)放在CF后面。 我们可以使用* .images.ourdomain在子域之间进行分割,减less客户端的加载时间等。我们甚至可以把每个* .ourdomain的东西,包括PHP的免费网站放在CF后面,把“* .ourdomain”进入CF参数。 问题 但是我们无法弄清楚的一点是如何将所有dynamic创build的PHP网站与自定义域放在CF后面。 提醒一下:这些是CNAME-d到router.ourdomain。 把每个域放到CF参数中是不可取的,因为我们需要能够处理数以万计的域名,而且我们需要为每个域名进行手动configuration。 所以我们的想法是我们应该把router.ourdomain作为备用域名放入CFconfiguration中,在route 53中将router.ourdomain指向CF,然后将CF指向我们的ELB作为原点。 我们发现每次都得到这个消息是一个很好的方法:“错误请求不能被满足,错误的请求,由cloudfront(CloudFront)生成”。 其实并不是每一次,因为www .ourdomain的工作,因为它应该(这是CNAMEd router.ourdomain),但其他每个子域给出了上面的错误(* .ourdomain是CNAMEd到router.ourdomain,但它也是一样的那些被CNAMEd的子域一个一个的去除router.ourdomain,除了www,当然还有路由器)。 所以现在我们不是不知道我们该如何解决这个问题,我们甚至不明白,为什么它对www不起作用,反之亦然。 任何想法和想法,将不胜感激,谢谢。

AWS可以支持基于RTMP的Live Streaming与CloudFront或CloudFormation

据我了解,阅读所有这些文章: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview.html docs.aws.amazon.com/AmazonCloudFront/latest/ DeveloperGuide / Tutorials.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/wowza-creating-stack.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp-creating.html docs.aws .amazon.com / AmazonCloudFront / latest / DeveloperGuide / distribution-rtmp-values-specify.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AMS5.0SubscribeingToAMS.html docs.aws.amazon.com/AmazonCloudFront/latest /DeveloperGuide/LiveStreamingAdobeMediaServer5.0.html 特别是以下几点: https://aws.amazon.com/it/blogs/aws/amazon-cloudfront-now-supports-streaming-media-content/ https://aws.amazon.com/it/blogs/aws/using-amazon- CloudFront的换videostream/ 看起来像使用CloudFront在TCP 80或TCP 1935上使用Web或RTMP分发镜像实时stream式RTMP是不可能的,因为这些分发基于播放器和video文件的静态文件的传递/镜像/caching(FLV )。 亚马逊通过CloudFormation堆栈和Adobe Media Server或WOWZA集成提供对直播的支持,但在我们的场景中,客户端已经拥有自己的Red5stream媒体服务器,已经在运行和build立。 如何使用CloudFront镜像TCP 80或1935上的Live Streaming RTMP连接,通过使用在Red5上运行的源服务器和RTMPstream,而不是从S3托pipe提供静态FLV文件? 我想了解这个解决scheme是否被亚马逊支持,以及在哪里可以find知识库来执行这样的configuration。 基本上,在我们的场景中,我们已经将RTMP暴露在公共Web上,我们只需要AWS通过CloudFront将其caching起来,并将其提供给其他客户端。 我们希望尝试仅为客户端下载的Flash播放器进行Web分发,然后我们希望播放器指向AWS CDN镜像URL进行直播。 这是可能的和如何? 非常感谢。致以最诚挚的问候

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

我的设置如下: 用户在浏览器上inputexample.com 请求转到AWS CloudFront,它将HTTPredirect到HTTPS,并将请求转发到AWS Elastic LoadBalancer(elb.example.com) LoadBalancer将请求转发到运行PHP Laravel框架的EC2实例 EC2正常响应 用户可以在example.com上正确地查看页面,其他所有内容对他都是透明的 所有这一切都是我想要的,不过….. 如果用户导航到页面上的任何button,浏览器上的url将变成elb.example.com(它应该停留在example.com) 如果我去查看网页源代码,页面上任何button的所有链接都有elb.example.com的基本url(它应该是example.com) 原因是因为EC2看到来自负载平衡器的请求,所以它假定基本url是elb.example.com并相应地生成所有链接。 如何使EC2看到基地url为example.com?

谷歌负载均衡的Anycast IP友好名称

我为我们的谷歌云存储桶创build了一个CDN。 一切工作正常。 尽pipe我们必须更改我们的代码,并使用ip地址更改旧的loadbalancer友好名称。 在我们的任播IP地址前添加谷歌云DNS是否有点矫枉过正? 使用人类可读的名称而不是ip来引用我们的loadbalancer是有帮助的。 但是我们不想添加任何延迟

在企业networking中阻止CDN服务器

我的CDN服务器在某些公司networking上被阻塞。 我已将我的CDN网站添加到大多数企业防火墙目录中,以确保其正确分类,而不是被企业使用的networking过滤软件视为垃圾站或其他被视为垃圾邮件的类别。 我猜是因为我的CDN域名和我的网站域名不一样。 为什么我这样做? 因为我想像所有其他人(twitter,youtube)一样使用一个无cookie的域名来存放我所有的静态资料(images / css / js)。 有没有一个地方列出了我可以对CDN域进行分类的所有这些目录? 这是做这个最好的方法吗? 我猜这个优化的ROI是相当低的,如果我没有得到任何令人信服的答案,我可能会考虑将我的CDN域名作为我的网站域名的子域名。

Origin Pull的便宜CDN是什么?

我已经阅读了有关这个ServerFault的几个线程,但我仍然不满意答案,所以我在这里发表一个问题。 我需要支持大文件(超过200MB)的Origin Pull CDN。 我不需要存储空间,因为它们太小,只是为了中继服务器。 另外价格应该是可以接受的,对于他们最小的计划,每月最多不超过150美元。 我还需要用信用卡支付,因为我不工作或呆在美国,所以我很难做银行电汇。 非常感谢你

Cloudflare伤害performance

我最近在我即将推出的新网站上设置了cloudflare。 我用它运行了一些基准testing,结果非常麻烦。 这对任何人都有意义吗? 之前我用这个运行Apache基准testing工具: ab -kc 10 -t 10 http://<site_url> 我得到了一个输出: Requests per second: 94.79 [#/sec] (mean) 现在我得到一个输出 Requests per second: 18.32 [#/sec] (mean) 只是为了确保没有新的设置与基准相冲突,我再次用cloudflare中的主机名运行它,而不是。 仍然有同样的事情。 这是相对于你的地理位置DNS服务器的工作方式,而不是在cloudflare瓶颈? 我想这会cachingjs,css和图像文件,并保留php脚本。 但似乎有其他事情正在进行,导致它呛,当我运行一个基准对网站。 请求时间的输出也有点令人不安。 这里是出cloadflare: Percentage of the requests served within a certain time (ms) 50% 104 66% 109 75% 112 80% 114 90% 121 95% 129 98% 142 […]

RTMP替代stream式HTML5video播放器?

我有一个通过VPS.net的Level3的CDN。 无论如何,使用这个CDN与HTML5video播放器。 支持人员说,它只能通过RTMP使用,RTMP似乎只是闪存。 我想给予在手机上观看video的能力,并轻松下载。