Reglas de página
Anule los ajustes de caché, limitación de tasa, encabezados de respuesta, SSL de origen y redirecciones para las URL que coincidan con sus condiciones.
Las reglas de página permiten tratar de forma diferente las URL que cumplen ciertas condiciones. Por ejemplo, puede almacenar los recursos estáticos en caché durante más tiempo, desactivar la caché para un área de administración o redirigir una ruta antigua a una dirección nueva.
Vaya a CDN → Dominios CDN, abra un dominio y seleccione Reglas de página. La URL de la consola es /cdn/domains/<domain>/rules.
Algunas acciones de las reglas de página aún se están incorporando. Esta página solo enumera las acciones que los nodos perimetrales aplican actualmente. La consola también muestra otras opciones, pero aún no tienen efecto al guardarlas.
Qué contiene una regla
| Campo | Descripción |
|---|---|
| Nombre | Una etiqueta que le ayude a identificar la regla, como "Caché de recursos estáticos" |
| Prioridad | De 1 a 999. El valor predeterminado es 100 |
| Activada | Una regla desactivada se conserva, pero no se aplica |
| Condiciones | Una o más condiciones, unidas por Coinciden todas (AND) o Coincide cualquiera (OR) |
| Acciones | Una o más acciones que se aplican cuando una solicitud coincide |
Coincidencia de URL
Las reglas de página usan el mismo motor de condiciones que las reglas de firewall. Estos campos y operadores son los que se usan con más frecuencia para describir URL:
| Campo | Ejemplo |
|---|---|
| Ruta / Ruta de URI | empieza por /static/; expresión regular ^/blog/\d+ |
| Extensión de archivo | en la lista jpg, png, css, js |
| Host | igual a img.example.com (útil cuando un dominio tiene varios nombres de host) |
| Cadena de consulta | nombre del parámetro utm_source, operador existe |
| Encabezado / Cookie | indique el nombre y, después, establezca una condición para su valor |
| Es HTTPS, Método HTTP, IP del cliente, Código de país, ASN, User-Agent, Referer | limite la coincidencia según los atributos de la solicitud |
Los operadores disponibles son igual a, distinto de, contiene, no contiene, empieza por, termina en, expresión regular, en la lista, fuera de la lista, mayor/menor que (o igual), existe y no existe.
La coincidencia de rutas distingue entre mayúsculas y minúsculas. Para buscar coincidencias con un directorio, use empieza por. Es más claro que una expresión regular y más fácil de configurar correctamente.
Acciones que surten efecto
| Panel de acción | Ajustes que se aplican | Qué hace |
|---|---|---|
| Caché | Modo de caché Desactivado; tiempo de caché (segundos) | Desactivado hace que las solicitudes coincidentes omitan la caché perimetral. Un tiempo de caché reemplaza el TTL de la caché perimetral para las respuestas que se pueden almacenar en caché. Las respuestas que no se pueden almacenar en caché, como las que incluyen Set-Cookie o no-store, siguen sin almacenarse |
| Limitar solicitudes | Solicitudes, intervalo (segundos), clave (dirección IP, país o ruta de URI) | Las solicitudes que superan el límite reciben 429. Para limitar la tasa por encabezado o cookie, use una regla de firewall |
| WAF | El interruptor de desactivación | Omite la inspección de WAF para las solicitudes coincidentes, lo que resulta útil para las URL de devolución de llamada de confianza. Seleccionar conjuntos de reglas aquí no tiene efecto |
| Encabezados personalizados | Nombre y valor | Añade o reemplaza encabezados de respuesta HTTP |
| SSL/TLS | Modo SSL de origen; Forzar HTTPS (cliente) | Cambia el modo SSL usado para conectarse al origen para estas URL (desactivado, flexible, completo o estricto). Con Forzar HTTPS activado, las solicitudes HTTP reciben una redirección 301 a la misma URL por HTTPS |
| Redirección | URL de destino y código de estado (301, 302, 307 o 308) | Responde con una redirección a la URL de destino fija sin comunicarse con el origen |
Estos ajustes aún no surten efecto. Configúrelos en las páginas del propio dominio:
- En el panel Caché: modo de tiempo de caché, tratamiento de la cadena de consulta, modo de host de caché, variación por dispositivo, país o idioma y entrega de contenido obsoleto. Configúrelos en la página Caché.
- El panel Caché del navegador, que aún se está incorporando. Configure la caché del navegador en la página Caché.
- El panel Optimización (Gzip, Brotli y minificación). Configure estas opciones en la página Optimización.
Crear una regla
- En Reglas de página, haga clic en Añadir regla.
- Introduzca un nombre, cambie la prioridad si lo necesita y deje Activada habilitada.
- En Condiciones de coincidencia, añada sus condiciones y elija Coinciden todas o Coincide cualquiera.
- En Acción a ejecutar, haga clic en Activar en cada panel de acción que desee usar y complete sus ajustes. Haga clic en Quitar para quitar un panel.
- Haga clic en Aceptar para guardar. La regla surte efecto en los nodos perimetrales en un plazo de unos segundos a un minuto.
No puede guardar una regla a menos que tenga al menos una condición y una acción.
Ejemplo: almacenar recursos estáticos en caché durante 7 días
- Condición: Extensión de archivo en la lista
jpg,png,css,js - Acción: Caché, modo Activado, tiempo de caché
604800
Ejemplo: no almacenar en caché el área de administración
- Condición: Ruta empieza por
/admin - Acción: Caché, modo Desactivado
Cuando coinciden varias reglas
Una solicitud puede coincidir con más de una regla de página, y las acciones de todas las reglas coincidentes se aplican juntas. Una redirección o Forzar HTTPS finaliza el procesamiento de inmediato, por lo que no se ejecutan más reglas.
No asigne a las mismas URL valores contradictorios en reglas diferentes, como dos tiempos de caché distintos. Evite que las condiciones se superpongan o combine esas reglas en una sola.
Cuota de reglas
Su plan puede limitar la cantidad de reglas de página que puede crear. Si es así, un aviso en la parte superior de la página muestra el uso, como "Cuota de reglas: 3/5". Cuando alcance el límite, elimine las reglas que ya no necesite o cambie a un plan superior.
API
Los endpoints de reglas de página se encuentran en /api/user/cdn/rules:
curl -X POST "https://api.yeap.cloud/api/user/cdn/rules/create" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"domain_id": 123,
"name": "Static assets 7d",
"priority": 100,
"enabled": true,
"settings": {
"matcher": {"op": "and", "conditions": [
{"collection": "EXTENSION", "op": "in", "var": ["jpg", "png", "css", "js"]}
]},
"action": {"cache": {"enabled": "on", "ttl": 604800}}
}
}'Otros endpoints:
- Enumerar reglas:
GET /api/user/cdn/rules?domain_id=123 - Actualizar una regla:
POST /api/user/cdn/rules/update, coniden el cuerpo - Eliminar una regla:
DELETE /api/user/cdn/rules/delete?id=<id>