首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为我的服务器寻找自定义PHP内容传递网络(CDN)脚本

为我的服务器寻找自定义PHP内容传递网络(CDN)脚本
EN

Stack Overflow用户
提问于 2013-06-05 15:19:53
回答 1查看 10.7K关注 0票数 1

参考文献:网络

一个内容传送网络或内容分发网络是一个计算机系统,我们的网站被存储,所以它的数据(图像/视频)可以从多个地点服务。然而,我不想使用任何在线付费/无报酬的CDN服务,但希望在我自己的高速服务器上设置CDN。我做了很多谷歌,但没有看到任何这样的CDN脚本,我可以安装在我的服务器。

我正在寻找这样的脚本,可以支持高级缓存控制。

如果你知道用PHP开发的任何好的CDN脚本,你能分享吗?

EN

Stack Overflow用户

发布于 2013-06-05 15:27:03

这不是在PHP中完成的,而是在Apache中完成的。

我在我自己的主服务器上所做的事情(这可能就是您想要的)是为服务内容设置一个没有烹饪功能的子域,并启用缓存和GZip。下面的Apache配置都位于网站目录中的.htaccess文件中。

代码语言:javascript
运行
复制
# GZIP compression
SetOutputFilter DEFLATE

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(eot|ico|gif|jpe?g|php|png|ttf|svg|woff)$ no-gzip dont-vary

# Fonts on a cookieless subdomain
<FilesMatch "\.(eot|ttf|svg|woff)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>


# Cookieless Static Content
<FilesMatch "\.(css|eot|ico|gif|jpe?g|js|png|ttf|svg|woff)$">
Header unset Cookie
Header unset Set-Cookie
</FilesMatch>

# Caching
ExpiresActive On
ExpiresDefault A0

<FilesMatch "\.(eot|ico|gif|jpe?g|png|ttf|svg|woff)$">
# 2 year caching for images and stuff
ExpiresDefault A31536000
Header append Cache-Control "public"
</FilesMatch>

<FilesMatch "\.(css|js)$">
# 1 week caching for styles and scripts
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>

#Other Header Manipulation
FileETag MTime Size
Header unset X-Powered-By
AddDefaultCharset UTF-8
DefaultLanguage en-US

只要您不介意缓存和GZip在您的主域(您不应该),只要链接到您的无炊具内容使用您指定的炊具子域,而Apache负责其余。

更新

我添加了一些我在发布这个答案后学到的东西,例如:

  • 允许任何域链接到字体,这样它们就可以在没有cookie的情况下使用。
  • 设置自应设置以来的ETAG标头。
  • 还有一些其他的标题字段,包括/删除这些字段并不坏。

但是,如果您正在使用HTTPS,请记住最后一个安全问题,那就是破口。为了防止这种解密技术,您可以从显示动态内容的任何页面中删除gzip压缩(GZIPping静态内容,如静态HTML、CSS或JS仍然可以)。为了避免压缩特定的文件类型(如PHP),请将其添加到此配置开始附近的SetEnvIfNoCase指令中。

或者,您可以保持压缩启用,并使用GCM密码方法,因为入侵系列攻击密码法。尽管我不想成为“那个家伙”,但如果您想要配置这样的东西,手册确实是最好的参考。这是一个相当复杂的话题,手册在解释基本知识方面做得很好。

票数 7
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16943715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档