Configurar una red de distribución de contenidos (CDN)

Desplegar con KeyCDN

Una CDN o red de distribución de contenidos es una red de servidores distribuidos alrededor del mundo que proporciona contenido de internet a una gran velocidad. La CDN otorga contenido a los sitios web de manera rápida y con buena calidad.

En este documento le indicaremos cómo configurar una cuenta KeyCDN en un sitio web con la tecnología de Odoo.

Crear una zona pull en el tablero de KeyCDN

En el tablero de KeyCDN primero vaya a Zones (zonas) en el menú de la izquierda. En el formulario, escriba un nombre para la zona en Zone Name (nombre de la zona), este aparecerá como parte de la URL de la CDN. Después, configure el Zone Status (estado de la zona) como active para activar la zona. En Zone Type elija el valor Pull. Por último, en Pull Settings ingrese la URL de origen, que debería ser la URL completa de su base de datos.

Example

Use https://yourdatabase.example.com y sustituya el prefijo de subdominio yourdatabase por el nombre real de la base de datos. También se puede usar una URL personalizada en lugar del subdominio de Odoo asignado a la base de datos.

screenshot: website-cdn-keycdn-zone
menu
(KeyCDN dashboard) ‣ Zones ‣ Add Zone
shows
The KeyCDN zone configuration page with the Zone Name, Zone Status and Zone Type (Pull) fields and the Origin URL.
highlight
The Zone Type and Origin URL fields (red frame).
data
Zone name 'odoo-website', origin `https://www.example.com`.
module
website
notes
English UI, light theme, 1440px width.

En General Settings (ajustes generales) después del formulario de la zona, haga clic en el botón Show all settings (mostrar todos los ajustes) para expandir las opciones de la zona, esta debería ser la última opción en la página. Después de expandir el menú General Settings asegúrese de que la opción CORS está activada.

Después, vaya al final de la página de configuración de la zona y guarde los cambios. KeyCDN le indicará que se desplegará la nueva zona, esto puede tomar hasta 10 minutos.

screenshot: website-cdn-zone-url
menu
(KeyCDN dashboard) ‣ Zones
shows
The KeyCDN zone list after deployment, showing the generated Zone URL of the new pull zone.
highlight
The Zone URL (red frame).
data
Zone 'odoo-website' in status 'active'.
module
website
notes
English UI, light theme, 1440px width.

Nota

Se generará una nueva URL de la zona para su zona, en este ejemplo es pulltest-xxxxx.kxcdn.com. El valor dependerá de cada base de datos.

Copie la URL de la zona y péguela en algún lado, ya que la usará más adelante.

Configurar la instancia de Odoo con la nueva zona

En la aplicación Sitio web vaya a Ajustes y active la Red de distribución de contenidos (CDN). Copie y pegue la URL de la zona que almacenó durante el paso anterior en el campo URL base CDN. Solo podrá ver y configurar este campo si el modo de desarrollador está habilitado.

Nota

Asegúrese de que haya dos barras (//) antes y una barra inversa (/) después de la URL base CDN.

Guarde los ajustes cuando termine.

screenshot: website-cdn-cdn-base-url
menu
Website ‣ Configuration ‣ Settings
shows
The Website settings page with the Content Delivery Network (CDN) checkbox enabled and the CDN Base URL and CDN filters fields filled in.
highlight
The CDN Base URL field (red frame).
data
CDN base URL of the KeyCDN pull zone.
module
website
notes
English UI, light theme, 1440px width.

Ahora su sitio web utiliza la CDN para los recursos que coinciden con las expresiones regulares de los filtros CDN.

Para verificar que la integración de la CDN funciona, vaya al HTML de su sitio web de Odoo y revise la URL de las imágenes. Para ver el valor de URL base CDN puede usar la función Inspeccionar de su navegador en el sitio web de Odoo. Busque el registro dentro de la pestaña Red de las herramientas de desarrollador.

screenshot: website-cdn-test-pull
menu
(website) ‣ (browser developer tools)
shows
The browser's developer tools network tab on a website page, showing static resources loaded from the CDN base URL instead of the database address.
highlight
One resource URL starting with the CDN base URL (red frame).
data
Demo website 'My Website'.
module
website
notes
English UI, light theme, 1440px width.

Activar el intercambio de recursos de origen cruzado (CORS) para evitar problemas de seguridad

Existe una restricción de seguridad en algunos navegadores (como Mozilla Firefox y Google Chrome) que evita que un archivo CSS que se haya vinculado de manera remota recupere recursos relativos en este mismo servidor externo.

Si no activa la opción CORS en la zona CDN, el error más evidente que ocurrirá será que el sitio web estándar de Odoo no tendrá los iconos de Font Awesome, ya que el archivo origen en el CSS de Font Awesome no se podrá cargar desde el servidor remoto.

Cuando ocurren estos errores de origen cruzado, podrá leer un mensaje de error parecido al que aparece a continuación en la consola de desarrollador de su navegador:

Font from origin 'http://pulltest-xxxxx.kxcdn.com' has been blocked from loading /shop:1 by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://yourdatabase.example.com' is therefore not allowed access.

screenshot: website-cdn-odoo-security-message
menu
(website) ‣ (browser developer tools)
shows
The browser console showing the CORS error message reported when the CDN zone does not allow cross-origin requests.
highlight
The error message (red frame).
data
Demo website 'My Website'.
module
website
notes
English UI, light theme, 1440px width.

Para solucionar este problema active la opción CORS en la CDN.