Cómo integrar el servicio CDN de Cloudflare con C2 Object Storage

Cómo integrar el servicio CDN de Cloudflare con C2 Object Storage

Algunos artículos se han traducido automáticamente del inglés y pueden contener imprecisiones o errores gramaticales.

Propósito

Este artículo es una guía sobre cómo aprovechar los servicios de Red de Entrega de Contenidos (CDN) de Cloudflare junto con C2 Object Storage. Al integrar estas dos soluciones, puede lograr lo siguiente:

  • Reducir costos: Minimiza las tarifas de tráfico de salida asociadas con C2 Object Storage.
  • Mejorar el rendimiento: Proporciona servicios de acceso a archivos rápidos y de baja latencia a nivel mundial para los usuarios a través de los servidores de borde ampliamente distribuidos de Cloudflare.
  • Simplificar el uso compartido: Los datos se proporcionan a través de Cloudflare, lo que permite el acceso público a los medios alojados en el sitio web y admite la funcionalidad de intercambio de recursos de origen cruzado (CORS).

Este artículo cubre solo la configuración predeterminada. Para otras configuraciones avanzadas de CDN, consulte la documentación de Cloudflare.

Solución

Siga estos pasos para configurar Cloudflare y permitir el acceso público a su bucket de C2 Object Storage.

1. Inicie sesión en Cloudflare

Inicie sesión en su panel de control de Cloudflare. Si aún no tiene una cuenta de Cloudflare, puede registrarse para un plan gratuito (Cloudflare ofrece un plan básico gratuito y varios planes de pago con características adicionales).

2. Crear claves de acceso en C2 Object Storage

Vaya al portal web de C2 Object Storage>Clave de acceso para crear una clave de acceso. El acceso de Cloudflare requiere permisos de lectura y escritura.

Recuerde descargar el ID de clave de acceso y la clave secreta.

3. Instalar Cloudflare Wrangler

Verifique los requisitos previos de Cloudflare Wrangler:

Luego, instale Cloudflare Wrangler.1, 2

4. Descargar archivo de configuración

Descargue este archivo de configuración, extraiga su contenido en una carpeta de su elección. Luego, mueva el archivo "wrangler.toml" de la carpeta "sample_config" a la carpeta "c2-object-storage-main".

5. Configurar variables ambientales para Wrangler

Abra el archivo "wrangler.toml" y en modo de edición de texto sin formato, agregue las siguientes variables ambientales requeridas y el nombre del Bucket.3, 4 Guarde el archivo wrangler cuando haya terminado.

name = "your_project_name"

[env]

C2_ENDPOINT = "your_c2_endpoint"

ACCESS_KEY_ID = "your_access_key"

BUCKET_NAME = "your_bucket_name"

1.png

6. Desplegar Worker

En la CLI, verifique que se encuentra en la ubicación del archivo wrangler.toml.

Como Wrangler es un npm (administrador de paquetes de node), algunos paquetes npm como aws4fetch pueden necesitar ser instalados o actualizados primero antes de desplegar. Por ejemplo, puede instalar aws4fetch usando el siguiente comando:

$ npm install aws4fetch

Después de instalar los paquetes requeridos, puede usar el siguiente comando para desplegar el proyecto. Necesitará otorgar a Wrangler 5 acceso a su cuenta de Cloudflare durante este proceso.

$ npx wrangler deploy

Después del despliegue, necesitará registrar un subdominio "workers.dev". Puede hacerlo inmediatamente después del despliegue o hacerlo más tarde en su portal de Cloudflare.

7. Configurar la clave secreta en Cloudflare

Hay dos formas de configurar la clave secreta en Cloudflare.

A través de la interfaz de línea de comandos

En la CLI, use el siguiente comando para cargar de forma segura la clave secreta en Cloudflare.

$ echo "your_secret_key" | wrangler secret put SECRET_KEY

En Cloudflare

Vaya a su panel de control de Cloudflare. Vaya a Worker & Pages >su proyecto >Configuraciones > Variables > Editar variables.

Agregue la siguiente variable para la clave secreta:

SECRET_KEY = "your_secret_key"

Luego, haga clic en el botón Cifrar junto a la variable SECRET_KEY que acaba de agregar.

8. Confirmar operación exitosa

La URL personalizada proporcionada por Cloudflare se puede encontrar yendo a Workers & Pages > Resumen > Visitar.

Por ejemplo:

https://your_project_name.synologyc2test.workers.dev/

Pruebe que el enlace funcione colocando el nombre del bucket y la ruta del archivo después del subdominio. 5

Por ejemplo:

https://your_project_name.synologyc2test.workers.dev/your_bucket_name/your-file-name

Observaciones:

  1. Si encuentra errores relacionados con permisos al ejecutar comandos en Terminal, agregue sudo antes del comando. Para CLI de Windows o Powershell, ejecute el programa como administrador.
  2. Si el sistema responde con un error como "command not found: npm", verifique que Node.js esté instalado, luego intente nuevamente.
  3. Por razones de seguridad, desaconsejamos agregar su clave secreta aquí. Puede agregarla de forma segura con cifrado en el portal de Cloudflare en su lugar.
  4. Es posible que necesite editar las fechas de compatibilidad de las variables. Para obtener más información, consulte la documentación de Cloudflare.
  5. Si el enlace no funciona, verifique que la ruta esté habilitada. De lo contrario, comuníquese con el soporte de Cloudflare para obtener más ayuda.
Propósito
Solución
1. Inicie sesión en Cloudflare
2. Crear claves de acceso en C2 Object Storage
3. Instalar Cloudflare Wrangler
4. Descargar archivo de configuración
5. Configurar variables ambientales para Wrangler
6. Desplegar Worker
7. Configurar la clave secreta en Cloudflare
8. Confirmar operación exitosa