我经营Grinderschool.com ,一个扑克培训网站,通过video会议。 我们的用户通过1)直接下载或2)stream媒体访问来访问我们的video。 目前,我们在共享主机环境中设置了一些东西,但由于最近的一些可靠性问题,我正在考虑其他选项。 简而言之,拥有300Gb的数据超出了他们的典型计划,所以诸如将站点从一台服务器转移到另一台服务器(对于大多数站点来说是一个快速stream程),可以让我们在一段相当长的时间内停下来。 我考虑过VPS,但是由于与我们使用的带宽相比存储成本高,所以排除了这一点。 我的下一个想法是转向某种整合,将我们当前的共享主机解决scheme与CDN结合起来。 我知道这对于我们用户的直接下载部分将起到很好的作用。 它是否也支持stream式访问? 与我们现有的访问控制机制(基于存储在我们数据库中的PHP驱动会话数据)进行接口有多容易或难?
关于我的网站一点: 首页需要快速加载,并有一个背景图片该网站是一个网上商店,有很多产品图片 多less可以帮助缓解stream量的服务器? 此外,AFAIK,云文件不提供发送过期头的可能性,所以这不是说,每次加载一个页面,所有的图像都不得不再次下载? 据我所知,他们会下载相当快,但在浏览器的caching速度甚至更快。 图像有多好? (我知道你可以服务CSS和JS,但AFAIK,我不能发送这些gzipped)
如果我正确理解这一点,我有两个select静态文件: 使用CDN并将所有静态文件放在上面。 使用单独的域来存储静态文件,以便用户可以同时下载。 所以我认为它是要么select,要么我需要一个单独的域然后使用CDN从该域中获取文件? 因为我假定即使我有一个CDN,我仍然需要在我的主站点或静态内容站点(如static.domain.com)的某个地方有一个静态内容的本地副本?
我们正在努力进一步提高一些旧的HTML网站的速度,以获得更好的SEO结果。 我们现在已经应用了一些缩小措施,结合HTML,CSS等我们使用一个小的虚拟化基础设施,我们一直希望使用轻+标准HTTP服务器configuration,所以第一个可以提供图像和静态内容与另一个PHP ,重写等。我们可以很容易地使用虚拟机,使用相同的文件和虚拟主机(绑定挂载)在Apache的conf,但几乎没有任何模块加载。 这意味着光照httpd将有更小的指纹,使我们能够更快,更快地运行,有更多的minSpareServer运行等。 因此,当浏览器也从加载来自不同主机名称的静态内容中受益时,我们已经考虑在我们的主服务器(main.com)上build立一个重写规则来“redirect”所有图像和css * .jpg,* .gif,* .css等相同的说cdn.main.com因此浏览器能够有更多的连接。 问题是,假设我们已经有一个非常复杂的重写规则集(我们手动操纵许多旧的URL来search引擎优化)是否值得? 我的意思是将主要的Apache的额外负载必须redirectmain.com/image.jpg(我明白,我们将不得不做一个301)cdn.main.com/image.jpg +然后cdn.main.com有为了达到这个目标,要比我们在浏览器上存档的收益大吗? 一个页面上的所有图像的301多余可以通过谷歌惩罚? 大公司如何解决这个问题,原始代码是否已经包含了从cdn链接到绝对path的图像? 编辑只是为了澄清,我们的关注是不要做太多与服务器性能或带宽。 我们显然可以使用外部CDN服务器,但是我们有足够的CPU和带宽。 我们所关心的是如何让拥有大量半静态HTML内容的“旧”网站受益于通过Apache分割图像和静态内容的连接,而不必将html更改为绝对path(即image.jpg至cdn.main.com /image.jpg发生在服务器上而不是代码)
帮帮我! 这是一个场景: 我正在托pipe和投放展示广告。 这些由一些媒体广告素材和一些JavaScript文件组成并显示广告。 这些文件托pipe在CDN上。 我们在周末做了一个小广告,试了一个广告。 它烧了大约10000印象。 在审查我的CDN日志时,我注意到一个IP正在请求一个单一的媒体文件,平均每秒大概2-3次,超过160万次点击文件。 所有在24小时内! 现在这是一个很大的问题,因为我要为带宽收费,而目前我们已经转移了TB,没有明显的原因。 为什么会这样? 我能做些什么来防止任何东西直接访问文件? 只有在JavaScript将其称为广告展示位置时才能访问它们。 来自CDN日志的行: #Fields:timestamp耗时的c-ip文件大小s-ip s-port sc-status sc-bytes cs-method cs -uri-stem -rs-持续时间rs-bytes c-referrer c-user-agent客户ID x -ec_custom-1 1305405902 116 XX.XX.XX.XX 1281559 XX.XX.XX.XX 80 TCP_HIT / 200 327990 GET http://XXXXXXXXXX.ogg – 0 557“ – ”“Mozilla / 5.0(Windows; U; Windows NT 5.1; en -US; rv:1.9.2)Gecko / 20100115 Firefox […]
假设我有两个生产Web服务器( web1和web2 )和一个静态资产源服务器( origin1 ),我想部署新的代码引用新的css / js / images。 在更新web1并将其放回之后,在我将web2移出旋转之前,会有一个简短的窗口,当负载平衡器将请求发送到具有新代码的web1和具有旧代码的web2 : web1提供html请求http://somecdn/images/foo.jpg?v=newhash web2提供html请求http://somecdn/images/foo.jpg?v=oldhash 所以在这个简短的窗口中, somecdn可能会请求foo.jpg?v=oldhash ,但实际上获得了刚刚部署到origin1的新图像。 这不好。 显而易见的解决scheme似乎是保持两个版本的资产可用: 版本像/2.1/images/foo.jpg和/2.2/images/foo.jpg这样的版本,它使用文件散列来破坏caching清除的目的,或者 通过将哈希添加到文件名来保留两个版本,例如。 在文件系统中保留/images/foo.oldhash.jpg和/images/foo.newhash.jpg ,这会留下一堆需要修剪的旧文件。 设置清漆保持旧版本的css / js /图像(感觉如果)。 有没有更好的策略,假设我不能完全禁用网站部署? (StackExchange使用此文件散列方法caching清除…)
我有一个客户决定使用SVN来托pipe媒体文件,并由一个Web应用程序提取查看。 这会带来什么后果?使用NAS还是CDN不是一个更好的select?
我使用带有Incapsula CDN的nginx,并且需要干净地阻止nginx的服务器上下文(对于某些域名,但不是所有的nginx连接)中的所有其他请求。 在我看来,最好的做法是不回答,如果客户IP不在Incapsula的范围内,就像一个没有configuration这个域的web服务器。 我该怎么做 ?
背景 我需要在我们的CDN(edgecast)上托pipe一些文件,这些文件将通过HTTPS提供。 我通常会通过使用提供的CDNurl,即https://wav22.233d.edgecast.com/…完成此操作。 问题 我最近尝试使用CNAME ex cdn.somesite.com所以不要使用丑陋的URL,我可以使用当前网站的子域。 我试图设置这一点,但继续得到证书错误,因为证书似乎只发布到*.somesite.comurl,而不是边缘广播CDNurl它也解决了。 我试图联系edgecast,但是他们的反应慢得令人厌恶。 也许,如果我从他们那里为edgecast域名购买了一个SSL证书,但是我认为它会因为指向它的CNAME而失效。
我目前讨价还价的CDN在videocaching方面performance非常差。 更糟糕的是,我没有任何访问权限。 所以我想知道是否有可能重写某些文件types的URL到我的服务器的IP地址,而不是CDN服务器? 在Apache中应该是这样的: https : //stackoverflow.com/questions/7154666/apache-mod-rewrite-redirect-file-type-to-another-domain