Configurar o Azure Front Door com sites do Power Pages

Como criador de sites, você pode usar o Azure Front Door com o Power Pages para usar os recursos de cache de borda e WAF (Web Application Firewall). Neste artigo, você aprenderá a configurar o Azure Front Door com Power Pages.

Observação

Siga estas etapas para configurar o Azure Front Door com Power Pages:

  1. Configurar o ponto de extremidade do Azure Front Door e o nome de domínio personalizado que usuários do site utilizarão.
  2. Configurar o seu site do Power Pages como a origem.
  3. Configure regras de roteamento para armazenar em cache solicitações estáticas.
  4. Configure regras WAF para analisar solicitações de entrada.
  5. Configurar o site para aceitar tráfego apenas do Azure Front Door.

Configure o ponto de extremidade do Azure Front Door e o nome de domínio personalizado

Nesta seção, você aprenderá a configurar o serviço Azure Front Door e habilitar um nome de domínio personalizado para essa configuração.

Pré-requisitos

  • Uma assinatura do Azure com acesso para criar novos serviços.

  • Um nome de domínio personalizado e acesso ao provedor DNS para configuração do nome de domínio personalizado.

  • Um certificado SSL que será usado para o nome de domínio personalizado. O certificado deve atender aos requisitos mínimos para o Power Pages.

  • Acesso de proprietário para o Power Pages, para configurar o nome de domínio personalizado.

Configurar o ponto de extremidade do Azure Front Door

Observação

Se você já criou o recurso Azure Front Door, vá para a etapa 3 do procedimento a seguir.

  1. Entre no portal do Azure e crie um novo recurso do Azure Front Door (Standard ou Premium). Mais informações: Início Rápido: criar um perfil do Azure Front Door Standard/Premium - portal do Azure

    Crie um recurso Azure Front Door.

  2. Selecione Criação rápida.

    Dica

    A maioria das configurações do Azure Front Door podem ser alteradas posteriormente.

    Crie o Azure Front Door e configurações.

  3. Selecione ou preencha os detalhes a seguir para configurar o recurso.

    Opção Descrição
    Detalhes do projeto Configurações relacionadas à organização de recursos, semelhante a qualquer outro recurso do Azure.
    Assinatura Selecione a assinatura em que o recurso Azure Front Door será criado.
    Grupo de recursos Selecione o grupo de recursos do Azure Front Door. Você também pode criar um novo grupo de recursos.
    Local do grupo de recursos O local do grupo de recursos.
    Detalhes do perfil A configuração do Azure Front Door.
    Name Nome do recurso Azure Front Door.
    Nível Selecione um nível para o recurso do Azure Front Door. Para este artigo, selecionamos o nível Premium, que permite acesso ao conjunto de regras gerenciado pela Microsoft e ao conjunto de regras de prevenção de bot para WAF.
    Configurações de ponto de extremidade Configurações do ponto de extremidade do Azure Front Door.
    Nome do ponto de extremidade Insira um nome para suas solicitações do Azure Front Door. Este nome é o URL real que servirá o tráfego para os usuários. Depois, configuraremos um nome de domínio personalizado que aponta para esta URL.
    Tipo de origem Selecione Personalizado.
    Nome do host de origem O nome do host do seu site do Power Pages.
    Formato: yoursitename.powerappsportals.com ou yoursitename.microsoftcrmportals.com sem https:// no inicio.
    Por exemplo, contoso.powerappsportals.com
    Link privado Não habilite o serviço de link privado.
    Cache Habilitar cache. O cache usa os recursos de cache de borda para conteúdo estático.
    O cache é discutido mais adiante em "Configure regras de roteamento para armazenar em cache solicitações estáticas," mais adiante neste artigo.
    Comportamento de cache da cadeia de caracteres de consulta Selecione Usar Cadeia de Caracteres de Consulta. Esta opção garantirá que, se uma página tiver conteúdo dinâmico que satisfaça a cadeia de caracteres de consulta, ela levará em conta a cadeia de caracteres de consulta.
    Compactação Habilitar compressão.
    Política WAF Crie uma nova política WAF ou use uma existente.
    Para obter informações sobre a política WAF, acesse "Configurar regras WAF para analisar solicitações recebidas" mais adiante neste artigo e também o Tutorial: criar uma política de firewall de aplicativo da Web no Azure Front Door usando o portal do Azure.
  4. Selecione Rever + Criar e aguarde a conclusão da configuração. Isso costuma levar de 5 a 10 minutos.<

  5. Valide a configuração navegando até a URL do ponto de extremidade (por exemplo, contoso.example.azurefd.net) e verificando se ele mostra o conteúdo do site do Power Pages.

    Procure o ponto de extremidade.

    Dica

    Se você vir uma resposta "404 Não encontrado", talvez a configuração não tenha sido concluída. Espere um pouco e tente novamente.

Configurar um nome de domínio personalizado

Até agora, o ponto de extremidade do Azure Front Door foi configurado para atender ao tráfego do back-end do Power Pages. No entanto, essa configuração ainda usa a URL do Azure Front Door, que causará problemas como falhas de verificação de captcha ou problemas de escala.

Os navegadores da Web rejeitam cookies definidos pelo Power Pages quando você usa uma URL de ponto de extremidade do Azure Front Door que é diferente da URL do seu site. Portanto, você deve configurar um nome de domínio personalizado para o site e para o ponto de extremidade do Azure Front Door.

  1. Configure um nome de domínio personalizado em seu site. Mais informações: Adicionar um nome de domínio personalizado.

  2. Habilite o nome de domínio personalizado do site no recurso Azure Front Door fazendo o seguinte:

    1. Atualize o provedor de DNS removendo o registro CNAME criado anteriormente durante a configuração do domínio personalizado para Power Pages. Apenas CNAME deve ser atualizado; não remova o nome do host de origem. O DNS apontará CNAME para o ponto de extremidade do Azure Front Door. O único propósito de adicionar CNAME era garantir que o nome do host personalizado estivesse presente no Power Pages. Essa presença garante que o Power Pages possa servir o tráfego para este nome de domínio personalizado por meio do Azure Front Door, e todos os cookies do site também terão o domínio configurado corretamente.

    2. Configure o nome de domínio personalizado no ponto de extremidade do Azure Front Door seguindo estas etapas: Crie um domínio personalizado no Azure Front Door Standard/Premium SKU usando o portal do Azure.

  3. Verifique o seguinte para validar a configuração:

    1. Os pontos do nome de domínio personalizado apontam para o ponto de extremidade do Azure Front Door. Use nslookup para verificar se uma entrada CNAME para o ponto de extremidade do Azure Front Door é retornada corretamente. Se a entrada CNAME ainda apontar para o Power Pages, você precisará corrigir isso.

    2. Navegar até o nome de domínio personalizado mostra a página do site do Power Pages.

Depois de seguir essas etapas, você terá uma configuração básica do ponto de extremidade do Azure Front Door concluída para o site. Nas próximas etapas, você atualizará várias configurações e regras para tornar essa configuração mais eficiente e melhor no tratamento de diferentes casos de uso.

Configure o site como um servidor de origem

A próxima etapa é otimizar as configurações do servidor de origem para garantir que a configuração funcione corretamente. Use Gerenciador de ponto de extremidade nas configurações do Azure Front Door no portal do Azure para atualizar as configurações do grupo de origem.

Gerenciador de ponto de extremidade.

Durante a configuração de criação rápida realizada anteriormente, você inseriu os detalhes do ponto de extremidade que criaram automaticamente a configuração com o nome default-origin-group(associado) (este nome varia de acordo com as configurações de localidade). Para esta etapa, você modificará as configurações do default-origin-group. A imagem a seguir mostra a aparência das configurações desta etapa quando você abre o grupo de origem pela primeira vez.

Grupo de origem visto pela primeira vez.

Origens no Azure Front Door representam o serviço de back-end ao qual os servidores de borda do Azure Front Door se conectam para fornecer conteúdo aos usuários. Você pode adicionar várias origens à sua instância do Azure Front Door para obter conteúdo de vários serviços de back-end.

Dica

O Power Pages fornece alta disponibilidade na camada de serviço; portanto, um único servidor de origem é suficiente ao configurar origens para sites.

A origem única dos sites do Power Pages deve apontar para o nome do host do seu site (que você configurou anteriormente). Se você não seguiu as etapas de configuração de criação rápida, poderá adicionar uma nova origem que aponte para o nome do host do site.

A imagem a seguir mostra um exemplo da configuração da origem.

Configuração de origem.

Use as configurações a seguir para definir a origem dos sites do Power Pages.

Opção Tipo ou valor da configuração
Tipo de origem Selecione Personalizado.
Nome do host de origem Insira o nome do host do site. Por exemplo, contoso.powerappsportals.com
Cabeçalho do host de origem Insira seu nome de domínio personalizado ou deixe em branco. O primeiro garante que o Azure Front Door envie o cabeçalho de origem como um nome de domínio personalizado; o último faz com que ele passe pelo que o usuário forneceu ao fazer a solicitação.
Porta HTTP 80
Porta HTTPS 443
Prioridade 1
Weight 1000
Link privado Desabilitadas
Status Marque a caixa de seleção Habilitar esta origem.

Depois de configurar a origem e retornar ao grupo de origem, atualize as configurações para investigações de integridade e opções de balanceamento de carga conforme descrito na tabela a seguir.

Opção Tipo ou valor da configuração
Investigações de integridade As investigações de integridade são um mecanismo para garantir que o serviço de origem esteja ativo e em execução e para tomar as decisões de roteamento de tráfego, dependendo dos resultados da investigação. Nesse caso, não precisamos de investigações de integridade e, portanto, as desativamos.
Balanceamento de carga Como temos uma única configuração de origem e as investigações de integridade estão desativadas, essa configuração não terá função nesta configuração.

Valide se a configuração do grupo de origem se parece com a imagem a seguir.

Valide a configuração de origem.

Configure regras de roteamento para armazenar em cache solicitações estáticas

As rotas determinam como usamos os recursos de cache de borda do Azure Front Door para melhorar a escalabilidade de um site. Configurar rotas também é uma etapa importante para garantir que não estejamos armazenando em cache o conteúdo dinâmico servido pelo site, o que pode levar ao acesso não intencional aos dados.

Configurar rotas.

Para a configuração de regras, precisaremos fazer o seguinte:

  1. Definir a configuração de rota.
  2. Configurar um conjunto de regras.
  3. Associar o conjunto de regras a uma rota.
  4. Validar as regras e a configuração de rota.

Definir a configuração de rota

Para definir a configuração de rota, selecione Gerenciador de ponto de extremidade no painel esquerdo, selecione Rotas e selecione a rota padrão. Rota padrão é criado durante a experiência de configuração de criação rápida.

Configuração de roteiro.

Atualize a configuração de rota conforme descrito na tabela a seguir.

Opção Configuração
Seção Domínios
Domínios O nome de domínio que você usou ao configurar o nome de domínio personalizado anteriormente.
Padrões para correspondência Definido como /* (valor padrão); todas as solicitações do site serão enviadas à mesma origem em nossa configuração.
Protocolos aceitos Definido como Somente HTTPS para garantir que todo o tráfego atendido é seguro.
Redirecionar Marque a caixa de seleção Redirecione todo o tráfego para usar HTTPS.
Seção do grupo de origem
Grupo de origem Defina o grupo de origem que você definiu anteriormente.
Caminho de origem Mantenha vazio.
Protocolo de encaminhamento Defina como Somente HTTPS ou Corresponder à solicitação de entrada.
Seção de cache
Cache Marque a caixa de seleção Habilitar cache se desejar usar o cache de borda.
Comportamento de cache da cadeia de caracteres de consulta Selecione Usar Cadeia de Caracteres de Consulta para garantir que o conteúdo dinâmico baseado na cadeia de caracteres de consulta possa ser atendido.
Compactação Selecione Habilitar compressão para otimizar a entrega de conteúdo.

Configurar um conjunto de regras

Os conjuntos de regras controlam como o conteúdo deve ser armazenado em cache. Esta etapa é importante porque controla como o conteúdo será armazenado em cache por servidores de borda para melhorar o dimensionamento do site. No entanto, um conjunto de regras configurado incorretamente pode levar ao cache de conteúdo dinâmico que deve ser fornecido especificamente a cada usuário individual.

Para configurar o conjunto de regras corretamente, é importante que você entenda o tipo de conteúdo que seu site fornece. Esse entendimento ajuda a configurar o conjunto de regras com regras eficazes. Para o cenário deste artigo, o site usa conteúdo dinâmico em todas as páginas e também fornece arquivos estáticos; portanto, o site está tentando alcançar o seguinte:

  • Todos os arquivos estáticos são armazenados em cache e fornecidos a partir dos servidores de borda.
  • Nenhum conteúdo da página é armazenado em cache.

Para configurar este conjunto de regras

  1. No painel esquerdo, selecione Conjunto de regras e, depois, selecione Adicionar um conjunto de regras.

    Configure o conjunto de regras.

  2. Insira um nome de conjunto de regras e salve-o.

    Criar um novo conjunto de regras.

Agora, vamos configurar o conjunto de regras com base nos requisitos de negócios, com a configuração a seguir para atender aos requisitos do cenário mencionado antes.

Requisito: todos os arquivos estáticos são armazenados em cache e fornecidos a partir dos servidores de borda

O site neste cenário pode conter arquivos estáticos com as extensões de nome de arquivo .css, .png, .jpg, .js, .svg, .woff ou .ico. Portanto, precisamos de uma regra para avaliar a extensão do nome do arquivo da solicitação e verificar os tipos de arquivo específicos.

Observação

Existem outras maneiras de escrever esta regra, como usar a URL da solicitação ou o nome do arquivo. Para obter mais informações sobre as condições de correspondência de regras do Azure Front Door, acesse Condições de correspondência do mecanismo de regras do Azure Front Door.

Exemplo da condição Solicitar extensões de arquivo.

Captura de tela de uma condição IF chamada "Solicitar extensão de arquivo" com o Operador definido como Igual, o Valor definido como css png jpg js svg woff ico e Transformação de caso definida como Sem transformação.

Na configuração de ação a seguir, você substitui o cabeçalho do cache definido pelo Power Pages para que esses arquivos sejam armazenados em cache um pouco mais no navegador. Por padrão, o Power Pages define a expiração do cache para um dia. Mas, neste cenário, vamos substituir esse valor por sete dias, configurando uma ação Expiração do cache e definindo Comportamento do cache como Substituir como mostrado na imagem a seguir.

Exemplo de ação de expiração de cache.

No final, a regra completa se parece com a imagem a seguir.

Regra final de extensão de arquivo.

Requisito: nenhum conteúdo da página é armazenado em cache

Em geral, a configuração de site do Power Pages garante que, se uma página tiver um formulário inserido (o que significa que está fornecendo conteúdo específico para um registro), ela terá o valor do cabeçalho Controle de cache definido como privado, o que garante que o Azure Front Door não armazene em cache essa solicitação. No entanto, esse método não leva em conta os cenários em que você usa modelos líquidos para inserir conteúdo específico do usuário nas páginas, como a exibição de um registro específico para um conjunto de usuários. Portanto, adicionaremos uma regra explícita para garantir que nenhuma página do site seja armazenada em cache.

A primeira etapa é definir a condição. A condição faz uma verificação inversa do que fizemos na primeira regra e verifica se a solicitação não inclui uma extensão de nome de arquivo que aponta para um dos tipos de arquivo que desejamos armazenar em cache.

Exemplo de uma condição Diferente de Solicitar extensões de arquivo.

Captura de tela de uma condição IF chamada "Solicitar extensão de arquivo" com o Operador definido como Diferente de, o Valor definido como css png jpg js svg woff ico e Transformação de caso definida como Sem transformação.

Na condição de ação, semelhante à regra anterior, vamos escrever uma ação para Expiração do cache. No entanto, desta vez, definiremos o comportamento como Ignorar cache. Isso garantirá que qualquer solicitação que atenda a essa regra não seja armazenada em cache.

Configuração de expiração de cache.

A regra completa se parece com a imagem a seguir.

Regra completa para cache de conteúdo de página.

Associar o conjunto de regras a uma rota

Depois de criar o conjunto de regras, a próxima etapa é associá-lo a uma rota.

  1. Selecione o conjunto de regras e, depois, selecione Associar uma rota na barra de comandos.

    Selecione para associar uma rota a um conjunto de regras.

  2. Selecione o nome do ponto de extremidade e a rota disponível. Pode haver várias rotas disponíveis; então, selecione a que você configurou antes.

    Associar uma rota

  3. Se você tiver vários conjuntos de regras e desejar definir a ordem em que eles devem ser avaliados, selecione Alterar ordens do conjunto de regras e configure a ordem. Nosso cenário de exemplo tem apenas um conjunto de regras.

    Altere a ordem dos conjuntos de regras.

  4. Selecione Concluído para concluir.

Validar as regras e a configuração de rota

Para validar se as regras e configurações de rota estão funcionando corretamente, certifique-se de que todo o tráfego seja fornecido por meio de HTTPS e que as regras de cache sejam avaliadas corretamente.

Para garantir que todo o tráfego seja fornecido por meio de HTTPS e todas as chamadas HTTP sejam redirecionadas para HTTPS

  • Insira o nome de domínio em um navegador e certifique-se de que a URL mude para HTTPS automaticamente durante a renderização do conteúdo.

Para garantir que as regras de cache sejam avaliadas e funcionem conforme o esperado

Para verificar as regras de cache, precisaremos analisar rastreamentos de rede na barra de ferramentas do desenvolvedor de um navegador da Web para validar se os cabeçalhos de cache para diferentes tipos de conteúdo estão definidos corretamente.

Observação

As alterações de regras podem levar até 10 minutos para serem refletidas.

  1. Abra uma nova guia do navegador, abra a barra de ferramentas do desenvolvedor e navegue até a URL do site do Power Pages (certifique-se de abrir a barra de ferramentas do desenvolvedor antes de navegar até a URL).

  2. Acesse a guia de rede para ver todas as solicitações de rede.

  3. Selecione uma solicitação para qualquer arquivo CSS da lista de solicitações.

    Na seção Cabeçalhos de resposta dos detalhes da solicitação, verifique se um cabeçalho chamado x-cache está presente. Esse cabeçalho garante que a solicitação seja atendida por meio de servidores de borda e possa ser armazenada em cache. Se o valor de x-cache estiver definido como CONFIG_NOCACHE – ou qualquer outro valor contendo o termo NOCACHE – a configuração não está correta.

    Cabeçalho de resposta denominado x-cache com valor de ocorrência no cache.

  4. Semelhante à etapa anterior, selecione uma solicitação Página e verifique os cabeçalhos. Se x-cache estiver definido como CONFIG_NOCACHE, significa que a configuração está funcionando corretamente.

    Cabeçalho de resposta denominado x-cache com valor CONFIG_NOCACHE para uma Página.

Configure regras WAF para analisar solicitações de entrada

A próxima etapa da configuração é configurar as regras WAF em solicitações de entrada. Neste artigo, abordaremos apenas as etapas básicas. Para configuração WAF avançada, acesse Firewall de Aplicativo Web do Azure no Azure Front Door.

  1. No painel esquerdo, selecione Segurança.

    Guia Segurança para configuração do Azure Front Door.

    Durante a configuração de criação rápida, já configuramos uma nova política WAF que aparece aqui. No entanto, se você ignorou essa etapa, pode configurar uma nova política selecionando Novo.

  2. Selecione o nome da política WAF.

  3. Selecione Configurações da Política e, em seguida:

    1. Habilitar inspeção do corpo da solicitação: marque esta caixa de seleção se desejar que o corpo da solicitação seja inspecionado além de cookies, cabeçalhos e URLs.

    2. URL de Redirecionamento: insira uma URL que não seja do site. Esta URL é para onde o usuário seria redirecionado se uma regra WAF fosse definida para redirecionamento. Certifique-se de que esta URL esteja acessível de forma pública e anônima.

    3. Bloquear Código de Status de Solicitação: este código de status HTTP será retornado ao usuário se a solicitação for bloqueada pelo WAF.

    4. Bloquear corpo da resposta: você poderá adicionar uma mensagem personalizada aqui que será exibida ao usuário se a solicitação for bloqueada pelo WAF.

    Configurações de Política para WAF.

  4. Para configurar o conjunto de regras em que cada solicitação será avaliada, faça o seguinte:

    1. No painel esquerdo, selecione Regras Gerenciadas.

      Regras gerenciadas - conjunto de regras

    2. Na barra de comandos, selecione Atribuir e, depois, selecione na lista de conjuntos de regras padrão. Os conjuntos de regras gerenciadas são gerenciados pela Microsoft e atualizados regularmente. Para obter mais informações sobre conjuntos de regras, acesse Grupos de regras e regras DRS do Firewall do Aplicativo Web.

      Gerenciar conjunto de regras - Atribuir

Depois que o conjunto de regras gerenciadas for atribuído, a configuração estará concluída. Como uma etapa extra, você também pode configurar listas de exclusão para regras existentes e habilitar regras personalizadas.

Importante

Por padrão, WAF é configurado no modo Política de Detecção, que detecta problemas em relação ao conjunto de regras definido e os registra. No entanto, este modo não bloqueia as solicitações. Para bloquear solicitações, o WAF deve ser alternado para o modo Prevenção.

Recomendamos que você execute testes completos no modo Prevenção para verificar se todos os cenários estão funcionando e para garantir que não precise ajustar o conjunto de regras ou adicionar políticas de exclusão. Você só deve habilitar o modo Prevenção depois de verificar se toda a configuração está funcionando conforme o esperado.

Configure o Power Pages para aceitar tráfego apenas do Azure Front Door

A última etapa desta configuração é garantir que seu site do Power Pages aceite tráfego apenas do Azure Front Door. Para esta verificação, precisaremos habilitar restrições de endereço IP no portal.

Para encontrar o intervalo de endereços IP em que o Azure Front Door opera, acesse Como faço para bloquear o acesso ao meu back-end apenas para o Azure Front Door?.

Observação

O Power Pages não oferece suporte à filtragem baseada em X-Azure-FDID.

Aumentar o tempo de resposta da origem

Por padrão, o Azure Front Door tem um tempo limite de resposta de origem de 60 segundos. No entanto, recomendamos aumentar para 240 segundos para garantir que cenários de longa duração, como upload de arquivo ou exportação para o Excel, funcionem conforme o esperado.

  1. No painel esquerdo, selecione Gerenciador de ponto de extremidade.

    Selecione Gerenciador de ponto de extremidade.

  2. Selecione Editar ponto de extremidade.

    Selecione para editar ponto de extremidade.

  3. No canto superior direito, selecione Propriedades do ponto de extremidade.

    Selecione propriedades do ponto de extremidade.

  4. Altere o tempo de resposta da origem para 240 segundos e selecione Atualizar.

    Defina o tempo de resposta da origem do ponto de extremidade como 240 segundos.

Consulte também

O que é o Azure Front Door?
Início rápido: criar um perfil do Azure Front Door - portal do Azure
Crie um domínio personalizado no Azure Front Door Standard/Premium SKU usando o portal do Azure
Como faço para bloquear o acesso ao meu back-end apenas para o Azure Front Door?
Condições de correspondência do mecanismo de regras do Azure Front Door