SmartRules – Regras para customização de cache, segurança e redirecionamentos

As SmartRules permitem que todas as configurações de cacheamento, uso do WAF, regras de Firewall e redirecionamentos sejam modificadas para se adaptarem a cada tipo de aplicação, conforme uma série de critérios.

 

É possível utilizar múltiplos critérios combinados em uma única regra e então especificar as ações que devem ser aplicadas quando estes critérios forem satisfeitos.

 

A ordenação das regras implica prioridade, sendo que a maior prioridade fica no topo da lista e a menor fica na parte de baixo. É importante manter a priorização em mente, colocando sempre as regras que tratam de exceções no topo, acima das regras mais genéricas. É possível arrastar as regras para cima e para baixo a fim de ordená-las conforme a prioridade desejada.

 

A aplicação das regras após sua ativação pode levar até 20 segundos para ser efetivada em toda a CDN.

 

 

1 – Botão para ativar/desativar a regra.

2 – Botão para editar a regra

3 – Botão para adicionar um comentário à regra

4 – Botão para remover a regra

 

Os critérios que podem ser utilizados para criação das regras, individualmente ou em combinação, são:

 

URL: Uma URL é composta do protocolo HTTP, de um host e da URI.

 

Protocolo HTTP:

Pode ser http, https ou http* (ambos).

 

Host:

*seudominio.com

Inclui o domínio raiz e os subdomínios

*.seudominio.com

Todos os subdomínios

 

URI:

Deve sempre começar com /. Utilize o caracter * para combinar uma série de URIs. Também pode ser especificada a query string.

     Exemplos:

     http*://*seudominio.com/admin/*

     Qualquer URI que comece com /admin/, em qualquer domínio e protocolo

     http*://*seudominio.com/admin/*?*gclid=*

     Qualquer URI que comece com /admin/, que contenha o argumento gclid na query string, em qualquer          domínio e protocolo

     http://img.seudominio.com/*

     Qualquer requisição http no subdomínio img.seudominio.com

 

Método HTTP: Especifica qual método HTTP uma requisição precisa ter para atender este critério. Pode ser especificado um ou mais métodos. No caso de múltiplos métodos, o critério será atendido se pelo menos um combinar com o utilizado na requisição. Podem ser selecionados os métodos GET, POST, PUT, DELETE e HEAD.

 

Cookies: Especifica qual cookie uma requisição precisa conter para atender este critério. Pode ser especificado um ou mais cookies separados por ',' (vírgula). No caso de múltiplos cookies, o critério será atendido se pelo menos um estiver presente nos cabeçalhos da requisição. É possível utilizar o caracter * para combinar uma série de cookies.

     Exemplos:

  • PHPSESSID
  • Frontend
  • wp_logged,_wp*

 

User Agent: O cabeçalho User-Agent indica o tipo de aplicação, sistema operacional, navegador ou bot que requisitou um site. É possível especificar o caracter * para combinar uma série de User-Agent. A comparação é case-insensitive

      Exemplos:

  • *googlebot*
  • *ipad*

 

HTTP Referer: A URL de referência através da qual o conteúdo é acessado.

 

Endereço IP ou Range: Indica o endereço IP ou range (/24 ou /16) que originou uma requisição.

     Exemplos:

     1.1.1.1

     1.1.1.0/24

     1.1.0.0/16

 

País de Origem: Indica o país de origem de uma requisição. A notação utilizada é a ISO-ALPHA 2. É possível especificar mais de um páis na mesma regra utilizando o separador | .

     Exemplos:

     BR

     US

     CH|US

 

Continente de Origem: Indica o continente de origem de uma requisição. A notação utilizada é a ISO-ALPHA 2. É possível especificar mais de um continente na mesma regra utilizando o separador | .

     Exemplos:

     AS

     NA

     SA|AS

 

Tipo de dispositivo: indica o tipo de aparelho utilizado no acesso do usuário. Pode ser Mobile, Desktop, Bot ou Outros.

 

As opções de ações disponíveis com base nos critérios selecionados são diferentes conforme a aba. Na aba “Geral” estão presentes as ações de controle de cache e WAF. Na aba “Redirecionamento” estão as ações para redirecionar o acesso e na aba “Firewall” as ações com base em regras de firewall.

 

Ações na aba “Geral” – Controle de Cache e WAF

 

Tempo de Expiração de Cache – TTL: Define por quanto tempo os objetos ficarão em cache, sem precisar requisitar o servidor de origem. Após o TTL determinado, a CDN busca uma nova versão do conteúdo.

Quanto maior o tempo de expiração especificado, menor será o tráfego de dados em seu servidor, aumentando a economia de banda e recursos utilizados. Você pode utilizar um tempo menor quando os conteúdos são alterados com mais frequência.

Uma abordagem aconselhada, para evitar a utilização de um TTL muito baixo nestes casos, é a opção 'Limpar cache por URL'.

Aviso: O TTL configurado pode não surtir efeito, caso a opção de ignorar os cabeçalhos Cache-Control e/ou Expires seja desabilitada. Neste caso, a prioridade será para o valor especificado nos cabeçalhos enviados pela aplicação ou servidor web e se não estiverem presentes a GoCache considerada o tempo especificado em painel de controle.

 

Tipo de Cache: Controla qual tipo de conteúdo que será armazenado e acelerado pela GoCache.

Não fazer cache - Desabilita completamente o cache da plataforma.

Somente conteúdo estático - Somente faz cache dos objetos que são considerados estáticos pela GoCache.

Full cache - Faz cache de todos os objetos com os critérios estabelecidos pela regra, inclusive de conteúdo dinâmico.

 

A GoCache considera como arquivo estático e faz cache das seguintes extensões de arquivos:

  • bmp
  • bz2
  • bzip
  • class
  • css
  • csv
  • deb
  • doc
  • docx
  • ejs
  • eot
  • eps
  • exe
  • flv
  • gif
  • gz
  • gzip
  • ico
  • img
  • jar
  • jpeg
  • jpg
  • js
  • mid
  • midi
  • mp3
  • odf
  • otf
  • pdf
  • pict
  • pls
  • png
  • ppt
  • pptx
  • ps
  • rar
  • rpm
  • rtf
  • svg
  • svgz
  • swf
  • tar
  • tga
  • tgz
  • tif
  • tiff
  • ttf
  • txt
  • webp
  • wmf
  • woff
  • woff2
  • xls
  • xlsx
  • xml
  • zip
  • xz

Extensões que não constam nesta lista devem ser cacheadas através da criação de uma “SmartRule” específica.

 

Comportamento de Cache: O comportamento de cache é uma configuracao utilizada para definir de que forma os objetos são armazenados em cache.

 

Padrão: Cada variação na query string será tratada como um objeto diferente em cache.

Ignorar query string: Entrega o mesmo objeto independente de variações na query string.


     Exemplos:

     Padrão: seusite.com/imagem.jpg?gclid=1234 e seusite.com/imagem.jpg?versao=2016 serão                      considerados objetos diferentes em cache

     Ignorar query string: seusite.com/imagem.jpg?gclid=1234 e http://seusite.com/imagem.jpg?                    versao=2016 serão considerados como um objeto único (seusite.com/imagem.jpg).

 

 

SSL: Encripta a comunicação entre os visitantes do site e o servidor de origem, garantindo que dados sensíveis de usuário não possam ser interceptados.

SSL desabilitado - Desabilita a criação de certificados SSL.

Edge Security - Encripta a comunicação entre os visitantes do site e a GoCache (borda), mas não entre a GoCache e o servidor de origem. Comunicação com os visitantes via porta 443 e com a infraestrutura de hospedagem via porta 80.

Full Security - Encripta a comunicação de ponta a ponta, desde o navegador do cliente, até o servidor de origem. Neste modo é necessário um certificado instalado no servidor de origem. Comunicação com os visitantes e com a infraestrutura de hospedagem via porta 443.

 

Cache no navegador: Define por quanto tempo o conteúdo estático do site ficará armazenado no cache local do navegador dos usuários, sem precisar requisitar os servidores de borda da CDN. Após o TTL determinado, o navegador solicita uma nova versão do conteúdo. Quanto maior o tempo de expiração especificado, menor será a banda utilizada na CDN. Você pode utilizar um tempo menor quando os conteúdos são alterados com mais frequência. Aviso: O tempo especificado somente surtirá efeito caso a opção de ignorar o cabeçalho Expires esteja habilitada ou em requisições que este cabeçalho não esteja presente.

 

Compressão GZIP: Comprime as páginas e os recursos estáticos, antes de entregá-los aos usuários. Todos navegadores modernos suportam a compressão dos dados, por isso a maioria dos visitantes do site irão receber os arquivos comprimidos, aumentando bastante a velocidade de abertura do site e diminuindo o consumo de banda na CDN.

A GoCache faz compressão gzip dos seguintes tipos de arquivo:

  • text/html
  • text/css
  • text/javascript
  • text/js
  • text/plain
  • text/richtext
  • text/x-component
  • text/x-java-source
  • text/xml
  • text/x-script
  • application/atom+xml
  • application/eot
  • application/font
  • application/font-sfnt
  • application/font-woff woff
  • application/javascript
  • application/json
  • application/octet-stream
  • application/opentype
  • application/otf
  • application/rss+xml
  • application/truetype
  • application/ttf
  • application/vnd.ms-fontobject
  • application/woff
  • application/x-font-ttf
  • application/xhtml+xml
  • application/x-httpd-cgi
  • application/x-javascript
  • application/xml
  • application/xml+rss
  • application/x-opentype
  • application/x-otf
  • application/x-perl
  • application/x-ttf
  • image/svg+xml
  • image/x-icon
  • font/opentype
  • font/otf
  • font/ttf
  • font/x-woff
  • multipart/bag
  • multipart/mixed
  • app/vnd.ms-fontobject

 

Ignorar cabeçalho Expires: Por padrão a GoCache ignora o cabeçalho Expires enviado pelo servidor de origem. Isso é feito, pois uma parte considerável das aplicações de prateleira, como Wordpress e Magento, enviam cabeçalhos indicando que nenhuma camada de cache, que é o caso de nossa plataforma, deve fazer cache das páginas e objetos. Por isso a abordagem da GoCache é ignorar essas instruções e fazer cache de acordo com as configurações de tempo de expiração feitas em painel de controle. Esta é uma opção avançada e deixar de ignorar este cabeçalho indica que será respeitado as diretivas enviadas pela aplicação e/ou servidor web. Nesse caso, a decisão de fazer ou não fazer cache de um determinado objeto e por quanto tempo, respeita a seguinte prioridade:

Expires -> Cache-Control -> TTL especificado na gocache

 

Ignorar cabeçalho Cache-Control: Por padrão a GoCache ignora o cabeçalho Cache-Control enviado pelo servidor de origem. Isso é feito, pois uma parte considerável das aplicações de prateleira, como Wordpress e Magento, enviam cabeçalhos indicando que nenhuma camada de cache, que é o caso de nossa plataforma, deve fazer cache das páginas e objetos. Por isso a abordagem da GoCache é ignorar essas instruções e fazer cache de acordo com as configurações de tempo de expiração feitas em painel de controle. Esta é uma opção avançada e deixar de ignorar este cabeçalho indica que será respeitado as diretivas enviadas pela aplicação e/ou servidor web. Nesse caso, a decisão de fazer ou não fazer cache de um determinado objeto e por quanto tempo, respeita a seguinte prioridade:

Expires -> Cache-Control -> TTL especificado na gocache

 

Ignorar cabeçalho Vary: Por padrão a GoCache ignora o cabeçalho Vary enviado pelo servidor de origem. Isso é feito, pois uma parte considerável das aplicações de prateleira, como Wordpress e Magento, enviam esta informação para instruir que qualquer camada de cache ou o próprio navegador deve armazenar os objetos de forma individualizada, de acordo com a característica especificada nele. É comumente utilizado com o valor User-Agent, o que duplicaria um mesmo objeto em cache para cada navegador ou dispositivo diferente que acessar o mesmo objeto. Esta é uma opção avançada e deixar de ignorar este cabeçalho pode comprometer a eficácia do cache e fazer com que aumente a carga nos servidores de origem.

 

Cache de requisições 301: Por padrão a GoCache faz cache somente das requisições com retorno 200 e 203, mas opcionalmente pode ser habilitado cache também para os redirecionamentos 301. Habilitar cache para as requisições 301 aumenta a velocidade de abertura do site e também ajuda na redução de carga nos servidores de origem. Como desvantagem, a alteração de algum redirecionamento existente pode demorar para entrar no ar, já que pode estar em cache. Neste caso recomendamos a utilização do recurso de Limpeza de Cache por URL para forçar a atualização.

 

Cache de requisições 302: Por padrão a GoCache faz cache somente das requisições com retorno 200 e 203, mas opcionalmente pode ser habilitado cache também para os redirecionamentos 302. Habilitar cache para as requisições 302 aumenta a velocidade de abertura do site e também ajuda na redução de carga nos servidores de origem. Como desvantagem, a alteração de algum redirecionamento existente pode demorar para entrar no ar, já que pode estar em cache. Neste caso recomendamos a utilização do recurso de Limpeza de Cache por URL para forçar a atualização.

 

Cache de requisições 404: Por padrão a GoCache faz cache somente das requisições com retorno 200 e 203, mas opcionalmente pode ser habilitado cache também para os objetos não encontrados (404). Habilitar cache para as requisições 404 aumenta a velocidade de abertura do site e também na redução de carga nos servidores de origem. Como desvantagem, eventualmente novas páginas ou objetos que forem criados no site, podem demorar para entrar no ar, já que podem estar em cache como não existentes (404). Neste caso recomendamos a utilização do recurso de Limpeza de Cache por URL para forçar a atualização.

 

IP ou hostname de destino: Sobrescreve o endereço IP ou hostname do servidor de origem, para requisições com critérios específicos. Um caso de uso comum para esta funcionalidade é quando você tem partes específicas da aplicação que são atendidas por outro servidor.

     Exemplo:

     URL http://seudominio.com/static/* pode ser direcionada para um bucket S3 na Amazon.

 

Sobrescreve o cabeçalho Host: Este recurso sobrescreve o cabeçalho Host, enviado para o servidor de origem em uma requisição. É uma funcionalidade útil para evitar alterações nas configurações de um servidor web, adicionando alias para uma aplicação. Um caso comum de uso é na utilização da GoCache para acelerar a economizar acessos em um bucket S3 na Amazon.

 

WAF: Gerencia o status do Web Application Firewall - Ligado ou Desligado.

 

WAF – Nível de segurança: Define o nível de segurança do WAF (Web Application Firewall).

Um nível baixo de segurança é mais permissivo com relação à classificação de ameaças. No nível alto a critério é mais restritivo.

 

WAF -   Modo de segurança: Define a ação a ser tomada em uma requisição classificada como ameaça pelo WAF (Web Application Firewall).

Bloquear: O acesso será impedido de prosseguir. Uma página de erro é exibida.

Simular: Será gerado um evento de segurança, mas nenhuma ação será tomada.

Desafiar: Será exibida uma página com um desafio (recaptcha) para que o visitante prove ser um humano.

 

Ações na aba “Redirecionamento”

 

Um redirecionamento é composto de um status code e de uma URL. O código indica se será permanente (301) ou temporário (302) e a URL especifica para onde uma requisição será redirecionada.

* especificados no critério URL podem ser substituídos no redirecionamento utilizando $1$2 e assim sucessivamente.

     Exemplos:

     URL: http://*site.com*, Redirecionamento: https://$1site.com$2

     Redireciona todo o tráfego do site.com e de seus subdomínios para HTTPS.


     URL: http://site.com/usuario/*, Redirecionamento: http://site.com/index.php?usuario=$1

 

Ações na aba “Firewall”

 

Permite bloquear (blacklist), desafiar(challenge) ou liberar (whitelist) o acesso ao site de acordo com critérios específicos da requisição.

A ordem de execução do firewall é a seguinte:

  • Endereço IP ou Range
  • País
  • User-Agent
  • Referer Host
  • URI

 

O desafio exibido para o usuário quando a opção “challenge” é utilizada é o recaptcha do Google, o mesmo usado no WAF.

 

Voltar para o índice

Tem mais dúvidas? Envie uma solicitação

0 Comentários

Artigo fechado para comentários.
Powered by Zendesk