Pular para conteúdo

Smart Rules

Smart Rules - Firewall

Alterar

Alterar uma Smart Rule de firewall.

PUT /v1/rules/firewall/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/rules/firewall/seudominio.com.br/aabbccddeeffgghh \
-X PUT \
-H 'GoCache-Token:seu_token' \
-d 'match[host]=www.gocache.com.br' \
-d 'match[scheme]=https' \
-d 'match[request_uri]=/static/js/*' \
-d 'match[request_method]=GET' \
-d 'match[request_method]=POST' \
-d 'match[remote_address]=255.255.255.0/24' \
-d 'match[cookie]=mycookie1,mycookie2,mycookie3' \
-d 'match[cookie_content]=mycookie1=123*' \
-d 'match[header]=Accept:*' \
-d 'match[http_referer]=www.google.com.br' \
-d 'match[http_user_agent]=*Mozilla*' \
-d 'match[origin_country]=US|UK' \
-d 'match[origin_continent]=SA' \
-d 'match[origin_continent]=EU' \
-d 'match[http_version]=HTTP/1.0' \
-d 'match[http_version]=HTTP/1.1' \
-d 'match[device_type]=mobile' \
-d 'match[device_type]=bot' \
-d 'match[origin_asn]=123456' \
-d 'action[action]=block'

Parâmetros

Campo Opcional Tipo Descrição
metadata Object
 status Boolean Indica se a regra está ativa ou inativa
Valor padrão: true
Valores permitidos: true, false
 notes String Descrição da regra
match Object Critério da regra
 host String Domínio/subdomínio de acesso do site. Ex: www.gocache.com.br
 scheme String Protocolo de acesso.
Valores permitidos: http, https, http*
 request_uri String URI. Ex: /admin/*
 http_version Array Versão do HTTP utilizada
Valores permitidos: "HTTP/1.0", "HTTP/1.1", "HTTP/2.0"
 device_type Array Tipo do dispositivo que está realizando a requisição
Valores permitidos: "desktop", "mobile", "bot", "na"
 http_user_agent String User agent. Suporta wildcard (*). Ex: *Mozilla*
 cookie String Se possui um cookie, de uma lista de um ou mais cookies, presente. Pode ser mais de um, separado por vírgula. Suporta wildcard (*). Ex: wp_login,wp_test
 cookie_content String Se um cookie possui um valor específico. O nome e o valor são separados igual (=). Suporta wildcard (*) no valor do cookie. Ex: wp_test=yes
 request_method Array Método da requisição
Valores permitidos: GET, POST, PUT, DELETE
 http_referer String Referer da requisição
 remote_address String IP ou range de IP da origem da requisição. Para ranges apenas as máscaras /32, /24 e /16 estão disponíveis
 header String Se a requisiço possui um cabeçalho específico. O nome e o valor são separados por dois-pontos(:). Suporta wildcard (*) no valor do cabeçalho. Ex Accept:*
 origin_country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 origin_continent Array Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
 origin_asn Number ASN do acessante, representado apenas por números
action Object Ação
 action String Tipo de liberação do firewall
Valores permitidos: "block", "accept", "challenge"
HTTP/1.1 200 OK
{
    "response": {
        "msg": "Success"
    }
}

Criar

Criar Smart Rules de firewall

Disponível no plano GROWTH

POST /v1/rules/firewall/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/firewall/seudominio.com.br \
-X POST \
-H 'GoCache-Token:seu_token' \
-d 'match[host]=www.gocache.com.br' \
-d 'match[scheme]=https' \
-d 'match[request_uri]=/static/js/*' \
-d 'match[request_method]=GET' \
-d 'match[request_method]=POST' \
-d 'match[remote_address]=255.255.255.0/24' \
-d 'match[cookie]=mycookie1,mycookie2,mycookie3' \
-d 'match[cookie_content]=mycookie1=123*' \
-d 'match[header]=Accept:*' \
-d 'match[http_referer]=www.google.com.br' \
-d 'match[http_user_agent]=*Mozilla*' \
-d 'match[origin_country]=US|UK' \
-d 'match[origin_continent]=SA' \
-d 'match[origin_continent]=EU' \
-d 'match[http_version]=HTTP/1.0' \
-d 'match[http_version]=HTTP/1.1' \
-d 'match[device_type]=mobile' \
-d 'match[device_type]=bot' \
-d 'match[origin_asn]=123456' \
-d 'action[action]=block'

Parâmetros

Campo Opcional Tipo Descrição
metadata Object
 status Boolean Indica se a regra está ativa ou inativa
Valor padrão: true
Valores permitidos: true, false
 notes String Descrição da regra
match Object Critério da regra
 host String Domínio/subdomínio de acesso do site. Ex: www.gocache.com.br
 scheme String Protocolo de acesso.
Valores permitidos: http, https, http*
 request_uri String URI. Ex: /admin/*
 http_version Array Versão do HTTP utilizada
Valores permitidos: "HTTP/1.0", "HTTP/1.1", "HTTP/2.0"
 device_type Array Tipo do dispositivo que está realizando a requisição
Valores permitidos: "desktop", "mobile", "bot", "na"
 http_user_agent String User agent. Suporta wildcard (*). Ex: *Mozilla*
 cookie String Se possui um cookie, de uma lista de um ou mais cookies, presente. Pode ser mais de um, separado por vírgula. Suporta wildcard (*). Ex: wp_login,wp_test
 cookie_content String Se um cookie possui um valor específico. O nome e o valor são separados igual (=). Suporta wildcard (*) no valor do cookie. Ex: wp_test=yes
 request_method Array Método da requisição
Valores permitidos: GET, POST, PUT, DELETE
 http_referer String Referer da requisição
 remote_address String IP ou range de IP da origem da requisição. Para ranges apenas as máscaras /32, /24 e /16 estão disponíveis
 header String Se a requisiço possui um cabeçalho específico. O nome e o valor são separados por dois-pontos (:). Suporta wildcard (*) no valor do cabeçalho. Ex Accept:*
 origin_country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 origin_continent Array Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
 origin_asn Number ASN do acessante, representado apenas por números
action Object Ação
 action String Tipo de liberação do firewall
Valores permitidos: "block", "accept", "challenge"
HTTP/1.1 200 OK
{
    "response": {
        "id": "aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ=="
    }
}

Listar

Listar da Smart Rules de firewall de um domínio.

Disponível no plano GROWTH

GET /v1/rules/firewall/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/firewall/seudominio.com.br \
-X GET \
-H 'GoCache-Token:seu_token'


HTTP/1.1 200 OK
{
    "response": {
        "rule": [
            {
                "match": {
                    "host": "www.gocache.com.br",
                    "request_method": [
                        "GET",
                        "POST"
                    ]
                },
                "action": {
                    "action": "block"
                },
                "id": "aabbccddeeff",
                "metadata": {
                    "status": "true"
                }
            },
            {
                "match": {
                    "origin_country": "BR"
                },
                "action": {
                    "action": "accept"
                },
                "id": "gghhiijjkkll",
                "metadata": {
                    "status": "false"
                }
            }
        ]
    }
}

Remover

Remover uma Smart Rule de firewall.

Disponível no plano GROWTH

DELETE /v1/rules/firewall/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/rules/firewall/seudominio.com.br/aabbccddeeffgghh \
    -X DELETE \
    -H 'GoCache-Token:seu_token'


HTTP/1.1 200 OK
{
    "response": {
        "msg": "Success"
    }
}

Ordenar

Mudar a ordem das Smart Rules de firewall no painel. Recomenda-se primeiro listar as regras existentes, depois formalizar a lista com a nova ordem. A lista deve conter todas as regras existentes em sua nova ordem. Disponível no plano GROWTH

PUT /v1/rules/firewall/priority/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/firewall/priority/seudominio.com.br \
-X PUT \
-H 'GoCache-Token:seu_token' \
-d 'id[1]=aabbccddeeffgghh' \
-d 'id[2]=iijjkkllmmnnoopp'


HTTP/1.1 200 OK
{
  "response": {
    "msg": "Sucesso"
  }
}

Smart Rules - Geral

Alterar

Alterar uma Smart Rule geral.

PUT /v1/rules/settings/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/rules/settings/seudominio.com.br/aabbccddeeffgghh \
    -X PUT \
    -H 'GoCache-Token:seu_token' \
    -d 'match[host]=www.gocache.com.br' \
    -d 'match[scheme]=http*' \
    -d 'match[request_uri]=/static/js/*' \
    -d 'match[request_method]=GET' \
    -d 'match[request_method]=POST' \
    -d 'match[remote_address]=255.255.255.0/24' \
    -d 'match[cookie]=mycookie1,mycookie2,mycookie3' \
    -d 'match[cookie_content]=mycookie1=123*' \
    -d 'match[http_referer]=www.google.com.br' \
    -d 'match[header]=Accept:*' \
    -d 'match[http_user_agent]=*Mozilla*' \
    -d 'match[origin_country]=US|UK' \
    -d 'match[origin_continent]=SA' \
    -d 'match[origin_continent]=EU' \
    -d 'match[http_version]=HTTP/1.0' \
    -d 'match[http_version]=HTTP/1.1' \
    -d 'match[device_type]=mobile' \
    -d 'match[device_type]=bot' \
    -d 'match[origin_asn]=123456' \
    -d 'action[set_host]=blog.gocache.com.br' \
    -d 'action[backend]=255.255.255.254' \
    -d 'action[set_uri]=/js/$1' \
    -d 'action[custom_cache_key]=logado,$cookie_user' \
    -d 'action[expires_ttl]=14400' \
    -d 'action[caching_behavior]=ignore_query_string' \
    -d 'action[cache_mode]=default' \
    -d 'action[cache_ttl]=86400' \
    -d 'action[cors]=http://www.gocache.com.br' \
    -d 'action[ssl_mode]=partial' \
    -d 'action[connection]=keep-alive' \
    -d 'action[hide]=X-Powered-By' \
    -d 'action[set]=X-Powered-By-GoCache: true' \
    -d 'action[set_req_header][0]=GoCache-Header: true' \
    -d 'action[signed_url_key]=1234' \
    -d 'action[signed_url_type]=off' \
    -d 'action[cache_301]=false' \
    -d 'action[cache_302]=false' \
    -d 'action[cache_404]=false' \
    -d 'action[gzip_status]=false' \
    -d 'action[ignore_cache_control]=false' \
    -d 'action[ignore_expires]=false' \
    -d 'action[ignore_vary]=false' \
    -d 'action[waf_status]=true' \
    -d 'action[waf_mode]=challenge' \
    -d 'action[waf_level]=high'

Parâmetros

Campo Opcional Tipo Descrição
metadata Object
 status Boolean Indica se a regra está ativa ou inativa
Valor padrão: true
Valores permitidos: true, false
 notes String Descrição da regra
match Object Critério da regra
 host String Domínio/subdomínio de acesso do site. Ex: www.gocache.com.br
 scheme String Protocolo de acesso.
Valores permitidos: http, https, http*
 request_uri String URI. Ex: /admin/*
 http_version Array Versão do HTTP utilizada
Valores permitidos: "HTTP/1.0", "HTTP/1.1", "HTTP/2.0"
 device_type Array Tipo do dispositivo que está realizando a requisição
Valores permitidos: "desktop", "mobile", "bot", "na"
 http_user_agent String User agent. Suporta wildcard (*). Ex: *Mozilla*
 cookie String Se possui um cookie, de uma lista de um ou mais cookies, presente. Pode ser mais de um, separado por vírgula. Suporta wildcard (*). Ex: wp_login,wp_test
 cookie_content String Se um cookie possui um valor específico. O nome e o valor são separados igual (=). Suporta wildcard (*) no valor do cookie. Ex: wp_test=yes
 request_method Array Método da requisição
Valores permitidos: GET, POST, PUT, DELETE
 http_referer String Referer da requisição
 remote_address String IP ou range de IP da origem da requisição. Para ranges apenas as máscaras /32, /24 e /16 estão disponíveis
 header String Se a requisiço possui um cabeçalho específico. O nome e o valor são separados por dois-pontos (:). Suporta wildcard (*) no valor do cabeçalho. Ex Accept:*
 origin_country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 origin_continent Array Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
 origin_asn Number ASN do acessante, representado apenas por números
action Object Ação
 set_host String Sobrescreve o cabeçalho Host da requisição. Ex: mybucket.s3.amazonaws.com
 backend String Define o IP ou hostname de destino. Ex: s3.amazonaws.com
 set_uri String Sobrescreve URI. É possível utilizar o valor do wildcard (*) do parâmetro match.request_uri através da variável $1. Ex: /imagens/$1
 custom_cache_key String Customiza chave de cache. Permite o uso das variáveis: $cookie_NOME, $http_NOME para utilizar o valor de um cookie/header específico, e $geoip2_data_country_code, $geoip2_data_continent_code para utilizar país/continente.
Ex: logado,$cookie_user.
Também há a possibilidade de usar parâmetros de url com $1, $2, $3... quando o critério for URL e houver wildcard
 expires_ttl Number Tempo de cache do navegador, em segundos. O valor -1 desabilita o cache de navegador.
Valores permitidos: -1, 3600, 7200, 14400, 43200, 86400, 172800, 345600, 604800, 1296000, 2592000, 15552000, 31536000
 caching_behavior String Comportamento do cache
Valores permitidos: default, ignore_query_string
 cache_mode String Tipo de cache (desligado, somente conteúdo estático ou full cache, respectivamente)
Valores permitidos: off, default, full
 cache_ttl Number Tempo de expiração de cache, em segundos.
Valores permitidos: 300, 600, 900, 1800, 3600, 7200, 14400, 86400, 172800, 604800, 1296000
 cors String Define Cross-Origin. Ex: http://www.gocache.com.br
 ssl_mode String Modo SSL. O valor partial é equivalente ao modo Edge
Valores permitidos: partial, full
 connection String Define o cabeçalho Connection da requisição
Valores permitidos: close, keep-alive
 hide String Remove cabeçalho de resposta. O valor deve ser o nome do cabeçalho
 set String Define um cabeçalho de resposta: Ex: Strict-Transport-Security: max-age=86400
 set_req_header Array Define um cabeçalho de requisição: Ex: X-GoCache-Custom-Header:true.
É possível especificar no máximo 3 cabeçalhos de requisição
 signed_url_key String Define a chave da URL assinada
 signed_url_type String Define o tipo de URL assinada
Valores permitidos: s3qs, off
 cache_301 Boolean Ativar/desativar o cache de requisições com status 301
Valores permitidos: true, false
 cache_302 Boolean Ativar/desativar o cache de requisições com status 302
Valores permitidos: true, false
 cache_404 Boolean Ativar/desativar o cache de requisições com status 404
Valores permitidos: true, false
 gzip_status Boolean Ativar/desativar a compressão Gzip
Valores permitidos: true, false
 ignore_cache_control Boolean Ativar/desativar a opção de ignorar o cabeçalho Cache-Control
Valores permitidos: true, false
 ignore_expires Boolean Ativar/desativar a opção de ignorar o cabeçalho Expires
Valores permitidos: true, false
 ignore_vary Boolean Ativar/desativar a opção de ignorar o cabeçalho Vary
Valores permitidos: true, false
 waf_status Boolean Ativar/desativar o WAF
Valores permitidos: true, false

GROWTH
 waf_mode String Modo de operação do WAF
Valores permitidos: block, simulate, challenge

GROWTH
 waf_level String Nível de proteção do WAF
Valores permitidos: low, medium, high

GROWTH
 rate_limit_status String Liga/Desliga o contador de Rate Limit.
Valores permitidos: true, false

CUSTOM
 image_optimize Boolean Otimização de imagens ativada ou desativada
Valores permitidos: true, false

GROWTH
 image_optimize_webp Boolean Conversão de imagens para WEBP
Valores permitidos: true, false

GROWTH
 image_optimize_progressive Boolean Conversão de imagens JPEG para o formato progressivo
Valores permitidos: true, false

GROWTH
 image_optimize_metadata Boolean Remoção de metadados
Valores permitidos: true, false

GROWTH
 image_optimize_level Number Nível de otimização de imagem. Utilize 0 para manter o nível original, 90 para nível baixo, 75 para nível médio e 65 para nível alto.
Faixa de tamanho: 0-100

GROWTH
HTTP/1.1 200 OK
{
    "response": {
        "msg": "Success"
    }
}

Criar

Criar Smart Rules geral

Disponível no plano GROWTH

POST /v1/rules/settings/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/settings/seudominio.com.br \
    -X POST \
    -H 'GoCache-Token:seu_token' \
    -d 'match[host]=www.gocache.com.br' \
    -d 'match[scheme]=http*' \
    -d 'match[request_uri]=/static/js/*' \
    -d 'match[request_method]=GET' \
    -d 'match[request_method]=POST' \
    -d 'match[remote_address]=255.255.255.0/24' \
    -d 'match[cookie]=mycookie1,mycookie2,mycookie3' \
    -d 'match[cookie_content]=mycookie1=123*' \
    -d 'match[http_referer]=www.google.com.br' \
    -d 'match[header]=Accept:*' \
    -d 'match[http_user_agent]=*Mozilla*' \
    -d 'match[origin_country]=US|UK' \
    -d 'match[origin_continent]=SA' \
    -d 'match[origin_continent]=EU' \
    -d 'match[http_version]=HTTP/1.0' \
    -d 'match[http_version]=HTTP/1.1' \
    -d 'match[device_type]=mobile' \
    -d 'match[device_type]=bot' \
    -d 'match[origin_asn]=123456' \
    -d 'action[set_host]=blog.gocache.com.br' \
    -d 'action[backend]=255.255.255.254' \
    -d 'action[set_uri]=/js/$1' \
    -d 'action[custom_cache_key]=logado,$cookie_user' \
    -d 'action[expires_ttl]=14400' \
    -d 'action[caching_behavior]=ignore_query_string' \
    -d 'action[cache_mode]=default' \
    -d 'action[cache_ttl]=86400' \
    -d 'action[cors]=http://www.gocache.com.br' \
    -d 'action[ssl_mode]=partial' \
    -d 'action[connection]=keep-alive' \
    -d 'action[hide]=X-Powered-By' \
    -d 'action[set]=X-Powered-By-GoCache: true' \
    -d 'action[set_req_header][0]=GoCache-Header: true' \
    -d 'action[signed_url_key]=1234' \
    -d 'action[signed_url_type]=off' \
    -d 'action[cache_301]=false' \
    -d 'action[cache_302]=false' \
    -d 'action[cache_404]=false' \
    -d 'action[gzip_status]=false' \
    -d 'action[ignore_cache_control]=false' \
    -d 'action[ignore_expires]=false' \
    -d 'action[ignore_vary]=false' \
    -d 'action[waf_status]=true' \
    -d 'action[waf_mode]=challenge' \
    -d 'action[waf_level]=high' 

Parâmetros

Campo Opcional Tipo Descrição
metadata Object
 status Boolean Indica se a regra está ativa ou inativa
Valor padrão: true
Valores permitidos: true, false
 notes String Descrição da regra
match Object Critério da regra
 host String Domínio/subdomínio de acesso do site. Ex: www.gocache.com.br
 scheme String Protocolo de acesso.
Valores permitidos: http, https, http*
 request_uri String URI. Ex: /admin/*
 http_version Array Versão do HTTP utilizada
Valores permitidos: "HTTP/1.0", "HTTP/1.1", "HTTP/2.0"
 device_type Array Tipo do dispositivo que está realizando a requisição
Valores permitidos: "desktop", "mobile", "bot", "na"
 http_user_agent String User agent. Suporta wildcard (*). Ex: *Mozilla*
 cookie String Se possui um cookie, de uma lista de um ou mais cookies, presente. Pode ser mais de um, separado por vírgula. Suporta wildcard (*). Ex: wp_login,wp_test
 cookie_content String Se um cookie possui um valor específico. O nome e o valor são separados igual (=). Suporta wildcard (*) no valor do cookie. Ex: wp_test=yes
 request_method Array Método da requisição
Valores permitidos: GET, POST, PUT, DELETE
 http_referer String Referer da requisição
 remote_address String IP ou range de IP da origem da requisição. Para ranges apenas as máscaras /32, /24 e /16 estão disponíveis
 header String Se a requisiço possui um cabeçalho específico. O nome e o valor são separados por dois-pontos (:). Suporta wildcard (*) no valor do cabeçalho. Ex Accept:*
 origin_country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 origin_continent Array Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
 origin_asn Number ASN do acessante, representado apenas por números
action Object Ação
 set_host String Sobrescreve o cabeçalho Host da requisição. Ex: mybucket.s3.amazonaws.com
 backend String Define o IP ou hostname de destino. Ex: s3.amazonaws.com
 set_uri String Sobrescreve URI. É possível utilizar o valor do wildcard (*) do parâmetro match.request_uri através da variável $1. Ex: /imagens/$1
 custom_cache_key String Customiza chave de cache. Permite o uso das variáveis: $cookie_NOME, $http_NOME para utilizar o valor de um cookie/header específico, e $geoip2_data_country_code, $geoip2_data_continent_code para utilizar país/continente. Ex: logado,$cookie_user. Também há a possibilidade de usar parâmetros de url com $1, $2, $3... quando o critério for URL e houver wildcard
 expires_ttl Number Tempo de cache do navegador, em segundos. O valor -1 desabilita o cache de navegador.
Valores permitidos: -1, 3600, 7200, 14400, 43200, 86400, 172800, 345600, 604800, 1296000, 2592000, 15552000, 31536000
 caching_behavior String Comportamento do cache
Valores permitidos: default, ignore_query_string
 cache_mode String Tipo de cache (desligado, somente conteúdo estático ou full cache, respectivamente)
Valores permitidos: off, default, full
 cache_ttl Number Tempo de expiração de cache, em segundos.
Valores permitidos: 300, 600, 900, 1800, 3600, 7200, 14400, 86400, 172800, 604800, 1296000
 cors String Define Cross-Origin. Ex: http://www.gocache.com.br
 ssl_mode String Modo SSL. O valor partial é equivalente ao modo Edge
Valores permitidos: partial, full
 connection String Define o cabeçalho Connection da requisição
Valores permitidos: close, keep-alive
 hide String Remove cabeçalho de resposta. O valor deve ser o nome do cabeçalho
 set String Define um cabeçalho de resposta: Ex: Strict-Transport-Security: max-age=86400
 set_req_header Array Define um cabeçalho de requisição: Ex: X-GoCache-Custom-Header:true.
É possível especificar no máximo 3 cabeçalhos de requisição
 signed_url_key String Define a chave da URL assinada
 signed_url_type String Define o tipo de URL assinada
Valores permitidos: s3qs, off
 cache_301 Boolean Ativar/desativar o cache de requisições com status 301
Valores permitidos: true, false
 cache_302 Boolean Ativar/desativar o cache de requisições com status 302
Valores permitidos: true, false
 cache_404 Boolean Ativar/desativar o cache de requisições com status 404
Valores permitidos: true, false
 gzip_status Boolean Ativar/desativar a compressão Gzip
Valores permitidos: true, false
 ignore_cache_control Boolean Ativar/desativar a opção de ignorar o cabeçalho Cache-Control
Valores permitidos: true, false
 ignore_expires Boolean Ativar/desativar a opção de ignorar o cabeçalho Expires
Valores permitidos: true, false
 ignore_vary Boolean Ativar/desativar a opção de ignorar o cabeçalho Vary
Valores permitidos: true, false
 waf_status Boolean Ativar/desativar o WAF
Valores permitidos: true, false

GROWTH
 waf_mode String Modo de operação do WAF
Valores permitidos: block, simulate, challenge

GROWTH
 waf_level String Nível de proteção do WAF
Valores permitidos: low, medium, high

GROWTH
 rate_limit_status String Liga/Desliga o contador de Rate Limit.
Valores permitidos: true, false

CUSTOM
 image_optimize Boolean Otimização de imagens ativada ou desativada
Valores permitidos: true, false

GROWTH
 image_optimize_webp Boolean Conversão de imagens para WEBP
Valores permitidos: true, false

GROWTH
 image_optimize_progressive Boolean Conversão de imagens JPEG para o formato progressivo
Valores permitidos: true, false

GROWTH
 image_optimize_metadata Boolean Remoção de metadados
Valores permitidos: true, false

GROWTH
 image_optimize_level Number Nível de otimização de imagem. Utilize 0 para manter o nível original, 90 para nível baixo, 75 para nível médio e 65 para nível alto.
Faixa de tamanho: 0-100

GROWTH
HTTP/1.1 200 OK
{
    "response": {
        "id": "aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ=="
    }
}

Listar

Listar da Smart Rules gerais de um domínio.

GET /v1/rules/settings/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/settings/seudominio.com.br \
    -X GET \
    -H 'GoCache-Token:seu_token'


HTTP/1.1 200 OK
{
    "response": {
        "rule": [
            {
                "match": {
                    "host": "www.gocache.com.br",
                    "request_method": [
                        "GET",
                        "POST"
                    ]
                },
                "action": {
                    "waf_level": "high",
                    "waf_mode": "block"
                },
                "id": "aabbccddeeff",
                "metadata": {
                    "status": "true"
                }
            },
            {
                "match": {
                    "origin_country": "BR"
                },
                "action": {
                    "cache_404": "false"
                },
                "id": "gghhiijjkkll",
                "metadata": {
                    "status": "false"
                }
            }
        ]
    }
}

Remover

Remover uma Smart Rule geral.

DELETE /v1/rules/settings/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/rules/settings/seudominio.com.br/aabbccddeeffgghh \
    -X DELETE \
    -H 'GoCache-Token:seu_token'


HTTP/1.1 200 OK
{
    "response": {
        "msg": "Success"
    }
}

Ordenar

Mudar a ordem das Smart Rules gerais no painel. Recomenda-se primeiro listar as regras existentes, depois formalizar a lista com a nova ordem. A lista deve conter todas as regras existentes em sua nova ordem. Disponível no plano GROWTH

PUT /v1/rules/settings/priority/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/settings/priority/seudominio.com.br \
-X PUT \
-H 'GoCache-Token:seu_token' \
-d 'id[1]=aabbccddeeffgghh' \
-d 'id[2]=iijjkkllmmnnoopp'


HTTP/1.1 200 OK
{
  "response": {
    "msg": "Sucesso"
  }
}

Smart Rules - Redirecionamento

Alterar

Alterar uma Smart Rule de redirecionamento.

PUT /v1/rules/rewrite/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/rules/rewrite/seudominio.com.br/aabbccddeeffgghh \
    -X PUT \
    -H 'GoCache-Token:seu_token' \
    -d 'match[request]=http://www.gocache.com.br/blog/*' \
    -d 'match[request_method]=GET' \
    -d 'match[request_method]=POST' \
    -d 'match[remote_address]=255.255.255.0/24' \
    -d 'match[cookie]=mycookie1,mycookie2,mycookie3' \
    -d 'match[cookie_content]=mycookie1=123*' \
    -d 'match[header]=Accept:*' \
    -d 'match[http_referer]=www.google.com.br' \
    -d 'match[http_user_agent]=*Mozilla*' \
    -d 'match[origin_country]=US|UK' \
    -d 'match[origin_continent]=SA' \
    -d 'match[origin_continent]=EU' \
    -d 'match[http_version]=HTTP/1.0' \
    -d 'match[http_version]=HTTP/1.1' \
    -d 'match[device_type]=mobile' \
    -d 'match[device_type]=bot' \
    -d 'action[redirect_type]=301' \
    -d 'action[redirect_to]=https://blog.gocache.com.br/$1'

Parâmetros

Campo Opcional Tipo Descrição
metadata Object
 status Boolean Indica se a regra está ativa ou inativa
Valor padrão: true
Valores permitidos: true, false
 notes String Descrição da regra
match Object Critério da regra
 request String A URL completa da requisição, composta do protocolo HTTP, de um host e da URI. Ex: http://www.gocache.com.br/blog/*
 http_version Array Versão do HTTP utilizada
Valores permitidos: "HTTP/1.0", "HTTP/1.1", "HTTP/2.0"
 device_type Array Tipo do dispositivo que está realizando a requisição
Valores permitidos: "desktop", "mobile", "bot", "na"
 http_user_agent String User agent. Suporta wildcard (*). Ex: *Mozilla*
 cookie String Se possui um cookie, de uma lista de um ou mais cookies, presente. Pode ser mais de um, separado por vírgula. Suporta wildcard (*). Ex: wp_login,wp_test
 cookie_content String Se um cookie possui um valor específico. O nome e o valor são separados igual (=). Suporta wildcard (*) no valor do cookie. Ex: wp_test=yes
 request_method Array Método da requisição
Valores permitidos: GET, POST, PUT, DELETE
 http_referer String Referer da requisição
 remote_address String IP ou range de IP da origem da requisição. Para ranges apenas as máscaras /32, /24 e /16 estão disponíveis
 header String Se a requisiço possui um cabeçalho específico. O nome e o valor são separados por dois-pontos (:). Suporta wildcard (*) no valor do cabeçalho. Ex Accept:*
 origin_country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 origin_continent Array Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
action Object Ação
 redirect_type Number Tipo de redirecionamento
Valores permitidos: 301, 302
 redirect_to String URL de redirecionamento. É possível utilizar o valor do wildcard (*) do parâmetro match.request através das variáveis $1, $2, .... Ex: https://blog.gocache.com.br/$1
HTTP/1.1 200 OK
{
    "response": {
        "msg": "Success"
    }
}

Criar

Criar Smart Rules de redirecionamento

POST /v1/rules/rewrite/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/rewrite/seudominio.com.br \
    -X POST \
    -H 'GoCache-Token:seu_token' \
    -d 'match[request]=http://www.gocache.com.br/blog/*' \
    -d 'match[request_method]=GET' \
    -d 'match[request_method]=POST' \
    -d 'match[remote_address]=255.255.255.0/24' \
    -d 'match[cookie]=mycookie1,mycookie2,mycookie3' \
    -d 'match[cookie_content]=mycookie1=123*' \
    -d 'match[header]=Accept:*' \
    -d 'match[http_referer]=www.google.com.br' \
    -d 'match[http_user_agent]=*Mozilla*' \
    -d 'match[origin_country]=US|UK' \
    -d 'match[origin_continent]=SA' \
    -d 'match[origin_continent]=EU' \
    -d 'match[http_version]=HTTP/1.0' \
    -d 'match[http_version]=HTTP/1.1' \
    -d 'match[device_type]=mobile' \
    -d 'match[device_type]=bot' \
    -d 'action[redirect_type]=301' \
    -d 'action[redirect_to]=https://blog.gocache.com.br/$1'

Parâmetros

Campo Opcional Tipo Descrição
metadata Object
 status Boolean Indica se a regra está ativa ou inativa
Valor padrão: true
Valores permitidos: true, false
 notes String Descrição da regra
match Object Critério da regra
 request String A URL completa da requisição, composta do protocolo HTTP, de um host e da URI. Ex: http://www.gocache.com.br/blog/*
 http_version Array Versão do HTTP utilizada
Valores permitidos: "HTTP/1.0", "HTTP/1.1", "HTTP/2.0"
 device_type Array Tipo do dispositivo que está realizando a requisição
Valores permitidos: "desktop", "mobile", "bot", "na"
 http_user_agent String User agent. Suporta wildcard (*). Ex: *Mozilla*
 cookie String Se possui um cookie, de uma lista de um ou mais cookies, presente. Pode ser mais de um, separado por vírgula. Suporta wildcard (*). Ex: wp_login,wp_test
 cookie_content String Se um cookie possui um valor específico. O nome e o valor são separados igual (=). Suporta wildcard (*) no valor do cookie. Ex: wp_test=yes
 request_method Array Método da requisição
Valores permitidos: GET , POST , PUT, DELETE
 http_referer String Referer da requisição
 remote_address String IP ou range de IP da origem da requisição. Para ranges apenas as máscaras /32, /24 e /16 estão disponíveis
 header String Se a requisiço possui um cabeçalho específico. O nome e o valor são separados por dois-pontos (:). Suporta wildcard (*) no valor do cabeçalho. Ex Accept:*
 origin_country String País de origem
Valores permitidos:"BR","US","CN","RU","..."
 origin_continent Array Continente de origem
Valores permitidos:"SA","NA","OC","EU","AF","AS"
action Object Ação
 redirect_type Number Tipo de redirecionamento
Valores permitidos:301,302
 redirect_to String URL de redirecionamento. É possível utilizar o valor do wildcard (*) do parâmetro match.request através das variáveis $1, $2, .... Ex: https://blog.gocache.com.br/$1
HTTP/1.1 200 OK
{
    "response": {
        "id": "aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ=="
    }
}

Listar

Listar da Smart Rules de redirecionamento de um domínio.

GET /v1/rules/rewrite/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/rewrite/seudominio.com.br \
    -X GET \
    -H 'GoCache-Token:seu_token'


HTTP/1.1 200 OK
{
    "response": {
        "rule": [
            {
                "match": {
                    "request": "http://www.gocache.com.br/",
                    "request_method": [
                        "GET",
                        "POST"
                    ]
                },
                "action": {
                    "redirect_type": "301",
                    "redirect_to": "http://blog.gocache.com.br/"
                },
                "id": "aabbccddeeff",
                "metadata": {
                    "status": "true"
                }
            },
            {
                "match": {
                    "origin_country": "BR|AR"
                },
                "action": {
                    "redirect_type": "302",
                    "redirect_to": "http://ww2.gocache.com.br"
                },
                "id": "gghhiijjkkll",
                "metadata": {
                    "status": "false",
                    "updated_on": "1122334455"
                }
            }
        ]
    }
}

Remover

Remover uma Smart Rule de redirecionamento.

DELETE /v1/rules/rewrite/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/rules/rewrite/seudominio.com.br/aabbccddeeffgghh \
    -X DELETE \
    -H 'GoCache-Token:seu_token'


HTTP/1.1 200 OK
{
    "response": {
        "msg": "Success"
    }
}

Ordenar

Mudar a ordem das Smart Rules de redirecionamento no painel. Recomenda-se primeiro listar as regras existentes, depois formalizar a lista com a nova ordem. A lista deve conter todas as regras existentes em sua nova ordem. Disponível no plano GROWTH

PUT /v1/rules/firewall/rewrite/{dominio}
$ curl -i https://api.gocache.com.br/v1/rules/firewall/rewrite/seudominio.com.br \
-X PUT \
-H 'GoCache-Token:seu_token' \
-d 'id[1]=aabbccddeeffgghh' \
-d 'id[2]=iijjkkllmmnnoopp'


HTTP/1.1 200 OK
{
  "response": {
    "msg": "Sucesso"
  }
}