TCDN-Command
En Transparent Edge Services usamos la cabecera TCDN-Command como una forma de invocar funciones preprogramadas por nosotros para hacerte la vida más fácil y que tus configuraciones sean más sencillas de realizar.
Este comando nos permite hacer ciertas cosas que, de otra manera, tendrías que hacer desde cero. Es importante que entiendas su uso, ya que no es algo trivial: un mal uso puede hacer que tu web no se comporte como piensas que debe hacerlo.
Lo primero que debes entender es que es una cabecera web y, si la vas a invocar varias veces y con distintas llamadas a funciones, tiene que ser concatenada para que su valor no sea sobrescrito. Por ejemplo:
1
sub vcl_recv {
2
if (req.http.True-Client-Ip ~ "^(1.1.2.2|1.2.3.4)quot;) {
3
set req.http.TCDN-Command = "deny_request";
4
}
5
if ((req.http.host == "www.transparentedge.eu") && (req.url ~ "/my-new-url")) {
6
set req.http.TCDN-Command = "pass, " + req.http.TCDN-Command;
7
}
8
}
Copied!
Como vemos, aquí llamamos en primer lugar a la función deny_request para banear dos direcciones IP. Pero, además, queremos que las peticiones sobre la URL http://www.transparentedge.eu/my-new-url no sean cacheadas nunca; para ello, como ves, asignamos la cabecera TCDN-Command con el valor pass. Sin embargo, en la segunda llamada, en lugar de hacerlo como la primera vez, lo cual sobrescribiría el valor de la cabecera, concatenamos el contenido actual de la misma con el valor que queremos añadir:
1
set req.http.TCDN-Command = "pass, " + req.http.TCDN-Command;
Copied!
Nótese la importancia de la coma para separar de manera correcta ambos comandos.
Actualmente, la cabecera TCDN-Command soporta estos valores:
Copiar enlace