Gerenciando sua implementação do CIS para confiabilidade ideal
Para conseguir a confiabilidade ideal para sua implementação do IBM Cloud® Internet Services, é possível definir uma configuração útil de DNS e balanceadores de carga globais. Para confiabilidade adicional, é possível usar nossas regras de página para ter certeza de que seu conteúdo da web será entregue aos seus clientes, mesmo que o seu servidor de origem ou o cache tenha um problema. Este documento fornece detalhes sobre algumas melhores práticas para tornar a sua implementação do CIS confiável de forma ideal.
Geralmente, nossas melhores práticas recomendadas são essas:
- Configure seu DNS para usufruir de servidores proxy do CIS e outros recursos.
- Use um ou mais balanceadores de carga globais para distribuir o tráfego do site uniformemente.
- Configure as regras de página apropriadas para gerenciar seu armazenamento em cache e outras opções.
Cada um desses itens fornece determinada funcionalidade que pode ser usada para criar uma implementação do CIS mais confiável.
Observe que a interface do CIS é organizada em seções para segurança, confiabilidade e desempenho.
Configurando o DNS
Para começar a definir sua configuração de DNS, selecione DNS no menu de navegação.
Para obter informações sobre como configurar e gerenciar seu DNS para obter confiabilidade, consulte Configuração do sistema de nomes de domínio para CIS.
Configurando balanceadores de carga globais
Para começar a configurar seus balanceadores de carga globais, selecione Balanceadores de carga globais no menu de navegação.
Para obter informações sobre como configurar e gerenciar seus balanceadores de carga globais, consulte Conceitos de balanceador de carga global.
Usando regras de página para aumentar a confiabilidade
A lista a seguir mostra algumas configurações de regra de página recomendadas para dar ao seu site o máximo de confiabilidade.
- Controle de cache de origem
- URL de encaminhamento
Serve Stale Content
Você pode usar a configuração Serve Stale Content (Servir conteúdo obsoleto ) para manter uma versão limitada do seu site on-line se o servidor cair.
Com o Serve Stale Content, quando o servidor fica inativo, o CIS serve páginas do cache, de modo que os visitantes ainda vejam algumas das páginas que estão tentando visitar. Seus visitantes veem uma mensagem na parte superior da página informando que estão no modo de navegação off-line. Fornecer conteúdo antigo retorna um status HTTP 503, no entanto, 503 também é usado por muitos outros aplicativos da web. Quando seu servidor voltar a ficar on-line, o CIS levará os usuários de volta para a navegação regular de forma contínua.
Se o CIS não tiver a página solicitada em seu cache, o seu visitante verá uma página de erro informando que a página do website que ele estiver solicitando está off-line.
Configurando o Serve Stale Content
Para ativar o Serve Stale Content, execute as seguintes etapas.
- Use o menu de navegação para ir para Performance > Caching.
- Ative a opção Servir conteúdo obsoleto.
Limitações de entrega de conteúdo antigo
-
O Serve Stale Content integra-se ao Internet Archive. O site CIS rastreia os URLs mais populares que têm o status
200
HTTP nas últimas 5 horas. Isso significa que apenas algumas páginas em seu site podem ser visualizadas quando seu servidor de origem fica inativo. -
Os sites que foram adicionados recentemente não têm um grande cache de seu site disponível. Isso significa que Serve Stale Content pode não funcionar se você tiver adicionado o site há apenas alguns dias.
-
O CIS não mostrará o conteúdo privado ou o envio de formulário de manipulação (POSTs) se o seu servidor estiver inativo. É exibida aos visitantes uma página
error on checkout
ouitems require a login to view
. -
Para acionar Fornecer conteúdo antigo, é preciso que seu servidor da web esteja retornando um código de erro HTTP padrão de tempo limite 502 ou 504. O Serve Stale Content também funciona quando o site CIS encontra problemas para entrar em contato com a origem (Erros 521 e 523), tempos limite (522 e 524), erros de SSL (525 e 526) ou um erro desconhecido (520). Fornecer conteúdo antigo não é acionado para outros códigos de resposta HTTP, como 404s, 500, 503, erros de conexão com o banco de dados, erro do servidor interno ou respostas vazias do servidor.
-
Fornecer conteúdo antigo não funcionará se uma regra de página "Armazenar tudo em cache" estiver ativada com o "TTL de expiração de edge cache" inferior à frequência do armazenamento em cache, pois "TTL de expiração de edge cache" faz com que o cache Fornecer conteúdo antigo seja limpo no intervalo correspondente.
Controle de cache de origem
É possível usar a configuração da Regra de Página Controle de cache de origem para determinar qual conteúdo de sua origem é armazenado em cache e a frequência com que o conteúdo é atualizado, o que tem um efeito sobre a confiabilidade e o desempenho. Por padrão, se nenhuma configuração for mudada e nenhum cabeçalho que impeça o armazenamento em cache for enviado de seu servidor de origem, o CIS armazenará em cache todo o conteúdo estático com determinadas extensões. Esses tipos de conteúdo incluem imagens, CSS e JavaScript. Usa-se esse armazenamento em cache principalmente por motivos de desempenho.
Para configurar o Controle de cache de origem, use as regras de página para ativar cabeçalhos específicos que fornecem o comportamento desejado com relação a cada recurso de seu conteúdo. Para entender como usar o Controle de cache de origem, alguma explicação mais geral de regras de página e de comportamento de armazenamento em cache geral para o CIS é necessária para fornecer o contexto, que é coberto nas próximas várias seções. Existem três métodos que podem ser usados para controlar o armazenamento em cache em geral e Controle de cache de origem é o segundo.
A configuração de Controle de cache de origem chama regras de armazenamento em cache que buscam aderir estritamente às melhores práticas e RFCs da Internet, principalmente com relação à revalidação. Por exemplo, o comportamento
padrão do CIS com max-age=0
não deve ser armazenado em cache, considerando a configuração de caches de Controle de cache de origem, mas ele é sempre revalidado.
Configurando o controle de cache de origem
Siga estas etapas para ativar o Origin Cache Control.
- Use o menu de navegação para selecionar Regras da página em Desempenho.
- Crie uma regra de página com o padrão de URL que referencia o seu domínio.
- Inclua a configuração Controle de cache de origem com o comutador ativado.
- Selecione Recurso de provisão.
Precedência da regra de página
Essas regras de página específicas têm precedência para o armazenamento em cache em geral.
-
Se uma regra de página tem Nível de Cache configurado como
Bypass
, os recursos que correspondem a essa regra da página não são armazenados em cache. CIS ainda atua como um proxy, e nossos outros recursos de desempenho permanecem ativos. No entanto, seu conteúdo é buscado a partir de seu servidor de origem diretamente, em vez de ser servido a partir de nosso cache. -
Se uma regra de página tiver Nível de cache configurado como
Cache everything
, os recursos que corresponderem à regra de página serão armazenados em cache. O uso dessa configuração de regra de página é a única maneira de informar ao CIS para armazenar em cache recursos além do que o CIS considera estático, inclusive HTML.
Se nenhuma regra de página for definida, CIS usará o modo de cache Standard
, que se baseia na extensão do recurso. CIS armazena em cache apenas recursos estáticos.
Cabeçalhos de controle de cache de origem
A segunda maneira de alterar o que CIS caches é através de cabeçalhos de armazenamento em cache enviados a partir da origem. CIS respeita essas configurações, mas você pode substituí-las especificando uma configuração de regra de página TTL de Cache de borda. Aqui estão os cabeçalhos que o CIS considera ao decidir quais recursos serão armazenados em cache a partir de sua origem:
-
Se o cabeçalho Cache-Control for configurado como
private
,no-store
,no-cache
oumax-age=0
ou se houver um cookie na resposta, o CIS não armazenará em cache o recurso. Observe que o material sigiloso não deve ser armazenado em cache, portanto, é possível considerar o uso de um desses cabeçalhos nesse caso. -
Se o cabeçalho Cache-Control for configurado como
public
e omax-age
for maior que 0 ou se os cabeçalhosExpires
forem configurados a qualquer momento no futuro, o recurso será armazenado em cache.
De acordo com as regras de RFC, Cache-Control: max-age
supera cabeçalhos Expires
. Se ambos forem vistos e eles não concordarem, max-age
vencerá.
Usando o cabeçalho s-maxage
A terceira forma de controlar o comportamento do armazenamento em cache e o comportamento do armazenamento em cache do navegador juntos é usando o cabeçalho Cache-Control s-maxage
.
Normalmente, CIS respeita a diretiva max-age
.
Cache-Control: max-age=1000
Mas se você quiser especificar um tempo limite de cache diferente do navegador, CIS poderá usar s-maxage
. O exemplo a seguir informa ao CIS para armazenar o objeto em cache por 200 segundos e ao navegador para armazenar o objeto
em cache por 60 segundos.
Cache-Control: s-maxage=200, max-age=60
Basicamente, s-maxage
destina-se a ser seguido APENAS por proxies reversos (portanto, o navegador deve ignorá-lo), enquanto CIS) dá prioridade a s-maxage
se ele estiver presente. CIS respeita o valor que for maior:
a configuração de cache do navegador ou o cabeçalho max-age
.
Resumo sobre cabeçalhos de controle de cache e regras de página para confiabilidade
Para resumir, a seguir estão algumas áreas principais a serem consideradas para confiabilidade com relação ao armazenamento em cache:
-
Verifique os cabeçalhos de armazenamento em cache de sua origem para garantir que não haja cabeçalhos de substituição para recursos armazenáveis em cache (
Cache-Control
eExpires
). -
O CIS sempre armazena em cache o conteúdo estático por padrão, com o TTL a seguir, dependendo do código de retorno:
200 301 120m; 302 303 20m; 403 5m; for reliability 404 5m; any 0s;
-
Para armazenar mais em cache, crie uma Regra de página com Nível de cache configurado como
Cache everything
na URL (se o seu servidor da web retornar um 404 ao solicitar essa URL, esse resultado será armazenado em cache somente por 5 min). -
Para evitar o armazenamento em cache em uma URL, crie uma regra de página com o Nível de cache configurado como
Bypass
.
URL de encaminhamento
Para assegurar que o seu conteúdo esteja sempre disponível, crie uma regra de página com a configuração URL de encaminhamento usada, caso seu site esteja indisponível.
Ao ativar uma URL de encaminhamento, todas as suas outras configurações são desativadas porque você está enviando todo o seu tráfego para outra URL.
Configurando uma URL de encaminhamento
Para ativar a URL de encaminhamento, siga estas etapas:
- Use o menu de navegação para selecionar Regras da página em Desempenho.
- Crie uma regra de página com o padrão de URL que referencia o seu domínio.
- Inclua a configuração URL de encaminhamento.
- Selecione o tipo de encaminhamento e insira a URL de destino.
- Selecione Recurso de provisão.
Exemplos de URL de encaminhamento
Imagine que você deseja facilitar que qualquer pessoa atinja uma URL como:
*www.example.com/+
*example.com/+
Esse padrão corresponde a:
http://example.com/+
http://www.example.com/+
https://www.example.com/+
https://blog.example.com/+
https://www.blog.example.com/+
Ele não corresponde a:
http://www.example.com/blog/+ [extra directory before the +]
http://www.example.com+ [no trailing slash]
Depois de ter criado o padrão que corresponde ao que você deseja, inclua a configuração URL de encaminhamento e selecione o tipo de encaminhamento e insira a URL de destino. Por exemplo:
https://plus.google.com/yourid
Selecione Recurso de provisão. Dentro de alguns segundos, quaisquer solicitações que correspondam ao padrão serão encaminhadas à nova URL com o redirecionamento especificado.
Opções avançadas de encaminhamento
Se você usar um redirecionamento básico, como encaminhar o domínio raiz para www.yourdomain.com
, você perderá qualquer outra coisa na URL. Por exemplo, você poderia configurar o padrão:
example.com
E fazê-lo encaminhar para:
http://www.example.com
Mas se alguém inserisse:
example.com/some-particular-page.html
Em seguida, são redirecionados para:
www.example.com
em vez de:
www.example.com/some-particular-page.html
A solução é usar variáveis. Cada curinga corresponde a uma variável que pode ser referenciada no endereço de encaminhamento. As variáveis são representadas por um $
seguido por um número. Para referir-se ao primeiro curinga, você
usaria $1
, para referir-se ao segundo curinga, você usaria $2
, e assim por diante. Para corrigir o encaminhamento da raiz para www
no exemplo anterior, use o mesmo padrão:
example.com/*
Em seguida, configure a URL a seguir para que o tráfego realize o encaminhamento:
http://www.example.com/$1
Nesse caso, se alguém fosse para:
example.com/some-particular-page.html
Eles são redirecionados para:
http://www.example.com/some-particular-page.html