Rotear o tráfego no App Service

Concluído

Por padrão, todas as solicitações do cliente para a URL de produção do aplicativo (http://<app_name>.azurewebsites.net) são roteadas para o slot de produção. Você pode rotear uma parte do tráfego para outro slot. Esse recurso será útil se você precisar de comentários do usuário para uma nova atualização, mas não estiver pronto para liberá-lo para produção.

Rotear o tráfego de produção automaticamente

Para rotear o tráfego de produção automaticamente:

  1. Vá para a página de recursos do aplicativo e selecione Deployment Slots.

  2. Na coluna Tráfego % do slot para o qual você deseja rotear, especifique uma porcentagem (entre 0 e 100) para representar a quantidade de tráfego total que você deseja rotear. Selecione Salvar.

Depois que a configuração é salva, o percentual especificado de clientes é roteado aleatoriamente para o slot de não produção.

Depois que um cliente é roteado automaticamente para um slot específico, ele é "fixado" nesse slot durante a vida útil da sessão do cliente. No navegador do cliente, você pode ver a qual slot sua sessão está fixada olhando para o cookie chamado x-ms-routing-name em seus cabeçalhos HTTP. Uma solicitação roteada para o slot de "staging" tem o cookie x-ms-routing-name=staging. Uma solicitação que é direcionada ao slot de produção tem o cookie x-ms-routing-name=self.

Rotear o tráfego de produção manualmente

Além do roteamento automático de tráfego, o Serviço de Aplicativo pode rotear solicitações para um slot específico. Isso é útil quando você deseja que seus usuários possam aceitar ou recusar seu aplicativo beta. Para rotear o tráfego de produção manualmente, use o parâmetro de consulta x-ms-routing-name.

Para permitir que os usuários optem por não usar seu aplicativo beta, por exemplo, você pode colocar este link em sua página da Web:

<a href="<webappname>.azurewebsites.net/?x-ms-routing-name=self">Go back to production app</a>

A sequência de caracteres x-ms-routing-name=self especifica o slot de produção. Depois que o navegador do cliente acessa o link, ele é então redirecionado para o slot de produção. Cada solicitação subsequente tem o cookie x-ms-routing-name=self que fixa a sessão no ambiente de produção.

Para permitir que os usuários optem pelo aplicativo beta, defina o mesmo parâmetro de consulta como o nome do slot de não produção. Veja um exemplo:

<webappname>.azurewebsites.net/?x-ms-routing-name=staging

Por padrão, novos slots recebem uma regra de roteamento de 0%, um valor padrão é exibido em cinza. Quando você define explicitamente o valor da regra de roteamento como 0%, ele é exibido em preto. Seus usuários podem acessar o slot de preparação manualmente usando o parâmetro de consulta x-ms-routing-name. Mas eles não serão roteados para o slot automaticamente porque a porcentagem de roteamento está definida como 0. Esse é um cenário avançado em que você pode "ocultar" o slot de teste do acesso público, permitindo que as equipes internas testem as alterações no slot.