设置内容分发网络(CDN)

使用 KeyCDN 进行部署

:abbr:`CDN(内容分发网络)`或 内容分发网络,是一个分布在不同地理位置的服务器网络,可快速提供互联网内容。:abbr:`CDN(内容分发网络)`为内容繁多的网站快速提供高质量内容。

本文档将指导您在 Odoo 驱动的网站设置 KeyCDN 账户。

在 KeyCDN 面板中创建拉取区域

在 KeyCDN 面板上,首先导航到左侧的 Zones 菜单项。在表单中,为 Zone Name 赋值,该值将作为 CDN(内容交付网络)’的 :abbr:`URL (统一资源定位器)’的一部分显示。然后,将 :guilabel:`Zone Status 设为 active 以启用该区域。将 Zone Type 的值设置为 Pull,最后在 Pull Settings 下,输入 Origin URL - 该地址应为完整的 Odoo 数据库 :URL(统一资源定位器)”。

Example

使用 https://yourdatabase.odoo.com 并将 yourdatabase 子域前缀替换为数据库的实际名称。也可使用自定义:abbr:URL(统一资源定位器),以取代提供给数据库的 Odoo 子域。

KeyCDN 区域配置页面。

在区域表单下方的 常规设置`下,单击 :guilabel:`显示所有设置 按钮,展开区域选项。该选项是页面上的最后一个选项。展开 常规设置 后,请确保 CORS 选项 已启用

接下来,滚动到区域配置页面的底部,然后 :guilabel:`保存`更改。KeyCDN 将指示新区域将被部署。这可能需要大约 10 分钟。

KeyCDN 部署新区域。

注解

已为您的区域生成新的 Zone URL,本例中为 pulltest-xxxxxx.kxcdn.com。每个数据库的值都不同。

Zone URL 复制到文本编辑器中备用,因为在接下来的步骤中会用到。

使用新区域配置 Odoo 实例

In the Odoo Website app, go to the Settings and then activate the Content Delivery Network (CDN) setting and copy/paste the Zone URL value from the earlier step into the CDN Base URL field. This field is only visible and configurable when the developer mode is activated.

注解

请确保在 CDN 基本 URL 前有两个*正斜杠* (//),在 CDN 基本 URL 后有一个正斜杠 (//)。

完成后请点击:guilabel:`保存`按钮保存设置。

激活 Odoo 中的 CDN 设置。

网站目前正在使用 CDN 处理与 :guilabel:`CDN 筛选项`正则表达式匹配的资源。

在 Odoo 网站的 HTML 中,通过检查图片的:abbr:URL(统一资源定位器),可证明:abbr:CDN(内容分发网络) 集成工作正常。可通过使用网络浏览器在 Odoo 网站上的 检查`功能查看 *CDN 基本 URL* 值。通过在 devtools 中的 :guilabel:`网络 选项卡中搜索其记录即可找到。

可使用 Odoo 网站上的检查功能查看 CDN 基本 URL。

通过激活跨域资源共享(CORS)来防止安全问题

部分浏览器(如 Mozilla Firefox 和 Google Chrome)的安全限制会阻止远程链接的 CSS 文件在同一外部服务器上获取相关资源。

如果在 CDN Zone 中未启用 :Arts:`CORS(跨域资源共享)` 选项,那么在标准 Odoo 网站上更明显的问题将是缺少 Font Awesome 图标,因为 Font Awesome CSS 中声明的字体文件无法从远程服务器加载。

当出现这些跨域资源问题时,网络浏览器的开发人员控制台会出现类似以下输出的安全错误信息:

由于跨域资源共享策略,来自’http://pulltest-xxxxx.kxcdn.com’的字体被阻止在/shop:1中加载:请求的资源上没有’Access-Control-Allow-Origin’标头。因此,’http://yourdatabase.odoo.com’来源不允许访问。

浏览器控制台中弹出错误信息。

在 :abbr:`CDN(内容分发网络)`设置中启用:abbr:`CORS(跨域资源共享)`选项可修复此问题。