支持plone的多主机名cdn

collective.cdn.multiplehostnames的Python项目详细描述


CDN Support for Plone: Multiple Hostnames

Overview

此软件包支持 plone站点。

与alternatehostname提供程序类似,multiplehostnames允许 要为hostname键入多个值。

当调用资源注册表中的绝对url方法时,我们选择一个 并将其返回到浏览器。

使用多主机名可以在 资源将从最多N个其他地址调用。

Installation

要启用此产品,请在基于构建的安装上:

  1. Edit your buildout.cfg and add ^{tt1}$ to the list of eggs to install

    [buildout]
    ...
    eggs =
        collective.cdn.multiplehostnames
    

如果另一个包依赖于collective.cdn.multiplehostnames egg或 直接包含它的zcml不需要在 buildout配置:buildout将自动检测到这一点。

更新配置后,需要运行“bin/buildout”, 它将负责更新您的系统。

进入Plone界面的“站点设置”页面,点击 “添加/删除产品”链接。

选择对plone的cdn支持(选中其复选框),然后单击“安装”按钮。

卸载-这可以在同一个管理屏幕上完成,但仅限于 如果是从快速安装程序安装的。

注意:您可能需要清空浏览器缓存并保存资源 以查看产品安装的效果。

Usage

CDN设置

安装此软件包后,请转到 打开界面,点击“CDN配置”链接。

在此页中,您可以选择哪些注册表将使用CDN设置 单击相应的复选框。

选择多主机名提供程序,添加几个主机名、端口号 和其他路径-如果需要-然后保存设置。

工作原理

使用设置页面中提供的主机名,我们只需替换 用提供的信息填写站点根的url。

例如,我们将两个主机名添加到配置中:

  • cache01.simplesconsultoria.com.br
  • cache02.simplesconsultoria.com.br

端口号为80且路径为空时,指向 portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css 文件将从以下位置更改:

http://www.simplesconsultoria.com.br/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css

收件人:

http://cache01.simplesconsultoria.com.br/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css

这是因为用于在可用主机名之间进行选择的算法。如果 文件是提供程序portal-css/beyondskins-simples/base-cachekey3443.css 将选择第二个主机名。

如果我们通知一个与80不同的端口号,它将被附加到 主机名,因此端口号为8080时,上面的示例将 返回:

http://cache01.simplesconsultoria.com.br:8080/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css

如果我们在设置中通知路径,也会发生同样的情况。使用“simples”作为 我们的路径,第一个示例将返回:

http://cache01.simplesconsultoria.com.br/simples/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css

Advanced Usage

使用不同的路径可以创建一个简单的 为多个站点缓存/cdn服务器。作为一个例子,我们将考虑 有两个plone站点,www.simplesconsultoria.com.br和www.simplesnet.com.br, 我们将cache01.simples.srv.br和cache02.simples.srv.br设置为 两个plone站点中的主机名。

为了区分一个站点和另一个站点,我们将设置不同的路径 在每一个中:

  • simples in www.simplesconsultoria.com.br
  • simplesnet in www.simplesnet.com.br

因此每个站点都有以下设置:

  • www.simplesconsultoria.com.br
    • Provider: MultipleHostnames
    • Hostname: cache01.simples.srv.br, cache02.simples.srv.br
    • Port: 80
    • Path: simples
  • www.simplesnet.com.br
    • Provider: MultipleHostnames
    • Hostname: cache01.simples.srv.br, cache02.simples.srv.br
    • Port: 80
    • Path: simplesnet

还有一个指向文件portal_css/beyondskins_simples/base-cachekey3443.css的链接, 将返回www.simplesconsultoria.com。br:

http://cache02.simples.srv.br/simples/portal_css/beyondskins_simples/base-cachekey3443.css

对于www.simplesnet.com.br:

http://cache02.simples.srv.br/simplesnet/portal_css/beyondskins_simples/base-cachekey3443.css

因此,我们的前端服务器必须将对simples/的调用重写为 www.simplesconsultoria.c网站om.br服务器和对simplesnet/的调用 www.simplesnet.com.br服务器。

Sponsoring

本产品的开发由Simples Consultoria赞助。

Credits

  • Simples Consultoria (products at simplesconsultoria dot com dot br) - Implementation
  • Dorneles Treméa for the invaluable talks about how to implement this provider.

Changelog

0.6(2012-08-01)

  • 重构测试以使用plone.app.testing[ericof]

0.5(2011-02-21)

  • 多主机名提供程序[ericof]的实现
  • 初始版本[ericof]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当您有许多具有不同密钥值的位置时,java Enterprise是加密环境变量的正确方法   java如何使用视图保持器模式制作自定义适配器?   java如何迭代Camel体中的嵌套列表?   序列化用base 64进行Java序列化   java打开文件的最佳方式(并确保选择了文件)   java marvin图像色差插件错误   java如何在eclipse中添加属性文件文件夹   比较java。util。日历日期到java。util。日期   java无法在下一个类(活动)中获取哈希表   java如何将这段代码转换为循环?   java查找通过REST失败   java getIntent返回null   在Java中,如何通过外部集合从内部集合检索数据?   java单点登录以保护REST API和内部基于web的系统