VCL personalizado para permitir solicitudes

Puede utilizar una lista ACL de Fastly Edge con un fragmento de código VCL personalizado para filtrar solicitudes entrantes y permitir el acceso por dirección IP. La lista ACL especifica las direcciones IP que se permiten.

Cree una lista de permitidos para limitar el acceso al entorno de ensayo, de modo que solo se permitan las solicitudes de direcciones IP especificadas para desarrolladores internos y servicios externos aprobados. También puede crear una lista de permitidos para proteger el acceso al administrador en los entornos de ensayo y producción.

El siguiente ejemplo muestra cómo utilizar un fragmento de VCL personalizado con una Lista de control de acceso rápido (ACL) para proteger el acceso al administrador para un entorno de proyecto de Adobe Commerce en la nube. Al agregar el fragmento de VCL personalizado al entorno de Cloud, Fastly solo permite solicitudes de direcciones IP incluidas en la ACL.

TIP
Para entornos de ensayo e integración que no deben ser de acceso público, utilice la opción de control de acceso HTTP disponible en el Cloud Console para administrar el acceso a todo el sitio por dirección IP.

Requisitos previos:

Crear una ACL de Edge para permitir direcciones IP de cliente

Las ACL de Edge crean listas de direcciones IP para administrar el acceso al sitio. En este ejemplo, se crea una ACL de Edge y se añade la lista de direcciones IP de cliente permitidas para acceder al administrador del entorno del proyecto.

  1. Iniciar sesión al administrador.

  2. Clic Tiendas > Configuración > Configuración > Avanzadas > Sistema.

  3. Expandir Caché de página completa > Configuración rápida > Edge ACL.

  4. Cree el contenedor ACL:

    • Clic Agregar ACL.

    • En el Contenedor ACL página, introduzca un Nombre de ACLallowlist.

    • Seleccionar Activar después del cambio para implementar los cambios en la versión de la configuración del servicio de Fastly que está editando.

    • Clic Cargar para adjuntar la ACL a la configuración del servicio de Fastly.

  5. Añada la lista de direcciones IP permitidas para acceder al administrador:

    • Haga clic en el icono Configuración para la allowlist ACL.

    • Añada y guarde el Valor de IP para cada dirección IP del cliente.

    • Clic Cancelar para volver a la página de configuración del sistema.

  6. Clic Guardar configuración.

  7. Actualice la caché según la notificación que aparece en la parte superior de la página.

Cree el fragmento de VCL personalizado para proteger el acceso de administrador

El siguiente código de fragmento de VCL personalizado (formato JSON) muestra la lógica para filtrar solicitudes al administrador y permitir el acceso si la dirección IP del cliente coincide con una dirección en la allowlist ACL.

{
  "name": "allowlist",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "if ((req.url ~ \"^/admin\") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 \"Forbidden\"; }"
}

Antes crear un fragmento personalizado en este ejemplo, revise los valores para determinar si necesita realizar algún cambio. A continuación, introduzca cada valor en los campos respectivos, como type en el campo Tipo, content en el campo Contenido.

  • name — Nombre del fragmento de VCL. Para este ejemplo, allowlist.

  • priority — determina cuándo se ejecuta el fragmento de VCL. La prioridad es 5 para ejecutar inmediatamente y comprobar si las solicitudes de un administrador provienen de una dirección IP permitida. El fragmento se ejecuta antes que cualquiera de los fragmentos de VCL de Magento predeterminados (magentomodule_*) tiene asignada una prioridad de 50. Establezca la prioridad de cada fragmento personalizado por encima o por debajo de 50, según el momento en el que desee que se ejecute el fragmento. Los fragmentos con números de prioridad más bajos se ejecutan primero.

  • type — especifica una ubicación para insertar el fragmento en el código de VCL con versiones. Este VCL es un recv tipo de fragmento que agrega el código de fragmento a vcl_recv subrutina debajo del código predeterminado Fastly VCL y encima de cualquier objeto.

  • content — El fragmento de código VCL que se va a ejecutar. En este ejemplo, el código filtra las solicitudes al administrador y permite el acceso si la dirección IP del cliente coincide con una dirección de allowlist ACL. Si la dirección no coincide, la solicitud se bloquea con un 403 Forbidden error.

    Si la dirección URL del administrador ha cambiado, reemplace el valor de ejemplo /admin con la dirección URL de su entorno. Por ejemplo, /company-admin.

En el ejemplo de código, la condición !req.http.Fastly-FF es importante cuando se utiliza Blindaje de origen. No elimine ni edite este código.

Después de revisar y actualizar el código para su entorno, utilice cualquiera de los siguientes métodos para agregar el fragmento de VCL personalizado a la configuración del servicio de Fastly:

Añadir el fragmento de VCL personalizado

  1. Iniciar sesión al administrador.

  2. Clic Tiendas > Configuración > Configuración > Avanzadas > Sistema.

  3. Expandir Caché de página completa > Configuración rápida > Fragmentos de VCL personalizados.

  4. Clic Crear fragmento personalizado.

  5. Añada los valores de fragmento de VCL:

    • Nombreallowlist

    • Tiporecv

    • Prioridad5

    • Añada el VCL contenido de fragmento:

      code language-conf
      if ((req.url ~ "^/admin") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 "Forbidden";}
      
  6. Clic Crear para generar el archivo de fragmento de VCL con el patrón de nombre type_priority_name.vcl, por ejemplo recv_5_allowlist.vcl

  7. Cuando la página se vuelva a cargar, haga clic en Cargar VCL a Fastly en el Configuración rápida para agregar el archivo a la configuración del servicio de Fastly.

  8. Una vez finalizada la carga, actualice la caché según la notificación que aparece en la parte superior de la página.

Valida rápidamente la versión actualizada del código VCL durante el proceso de carga. Si la validación falla, edite el fragmento de VCL personalizado para solucionar el problema. A continuación, vuelva a cargar la VCL.

Modificación del fragmento de VCL personalizado

  1. Iniciar sesión al administrador.

  2. Clic Tiendas > Configuración > Configuración > Avanzadas > Sistema.

  3. Expandir Caché de página completa > Configuración rápida > Fragmentos de VCL personalizados.

    Administrar fragmentos de VCL personalizados

  4. En el Acción , haga clic en el icono de configuración situado junto al fragmento de código que desea editar.

  5. Cuando la página se vuelva a cargar, haga clic en Cargar VCL a Fastly en el Configuración rápida sección.

  6. Una vez finalizada la carga, actualice la caché según la notificación que aparece en la parte superior de la página.

WARNING
El Fragmentos de VCL personalizados La opción IU solo muestra los fragmentos añadidos a través del administrador de Adobe Commerce. Si agrega fragmentos de código mediante la API de Fastly, utilice la API para administrarlos.

Eliminar el fragmento de VCL personalizado

  1. Iniciar sesión al administrador.

  2. Clic Tiendas > Configuración > Configuración > Avanzadas > Sistema.

  3. Expandir Caché de página completa > Configuración rápida > Fragmentos de VCL personalizados.

    Administrar fragmentos de VCL personalizados

  4. En el Acción , haga clic en el icono de papelera situado junto al fragmento que desea eliminar.

  5. En la siguiente ventana modal, haga clic en DELETE y activar una nueva versión.

WARNING
El Fragmentos de VCL personalizados La opción IU solo muestra los fragmentos añadidos a través del administrador de Adobe Commerce. Si agrega fragmentos de código mediante la API de Fastly, utilice la API para administrarlos.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26