Primeiros passos com Applications
Crie uma aplicação que envia toda requisição para a sua origem por um connector, entregue-a por um workload e faça uma requisição a ela.
Este guia orienta você a entregar o conteúdo da sua origem pela sua primeira aplicação.
- Crie um connector que alcança a sua origem por HTTPS.
- Crie uma aplicação.
- Adicione uma regra que envia toda requisição para o connector.
- Entregue a aplicação por um workload.
- Envie uma requisição para o domínio do workload e receba a resposta da sua origem.
Cinco partes formam a cadeia, listadas na ordem em que este guia as usa:
- O connector guarda o endereço da sua origem e a forma como a Azion se conecta a ela.
- A aplicação guarda as regras que decidem o que acontece com uma requisição. Uma aplicação nova não tem regras.
- A regra na aplicação combina um critério com um behavior. Neste guia, o critério corresponde a toda requisição, e o behavior Set Connector nomeia o connector.
- O workload guarda o domínio que recebe as requisições. O deployment dele nomeia a aplicação.
- A requisição para o domínio do workload encontra a regra, e o connector a passa para a sua origem.
Um connector só recebe requisições depois que uma regra o nomeia, e uma aplicação só depois que um deployment a nomeia.
Em uma aplicação, você habilita três Produtos: Cache, Application Accelerator e Image Processor. Uma aplicação nova começa com Cache ativado e os outros dois desativados, e este guia não altera nenhum deles. Para ativar um deles depois, abra a aba Main Settings da aplicação, ative o interruptor dele em Modules e selecione Save. Os primeiros passos de cada Produto começam onde este guia termina, com uma aplicação que já entrega conteúdo.
Os pré-requisitos e as cinco etapas mostram os passos de uma interface por vez. Selecione a sua:
Pré-requisitos
- Uma conta Azion. Para mais informações, consulte Criar uma conta.
- Um servidor de origem que responde a requisições HTTPS na porta
443em um hostname público. Este guia escreve esse hostname como<your-origin-hostname>. - O
curl, para enviar uma requisição pelo workload.
Você também precisa de acesso ao Azion Console. Para mais informações, consulte Como acessar o Azion Console.
Crie um connector para a sua origem
Um connector guarda o endereço da sua origem e as configurações que a Azion usa para alcançá-la. Você o cria à parte, fora de qualquer aplicação, e uma regra o nomeia depois. Este connector tem um endereço e se conecta à sua origem por HTTPS. Ele envia o hostname da sua origem no header Host.
Para criar o connector pela Azion CLI, coloque-o primeiro em um arquivo JSON. Salve este corpo como connector.json e substitua <your-origin-hostname> nos dois lugares:
addresses lista os servidores de origem, e connection_options.host é o header Host que o connector envia. force_https faz toda conexão com a origem usar HTTPS.
Crie o connector a partir do arquivo:
Anote o ID do connector novo na saída do comando: a regra o passa como <connector-id>.
Crie a aplicação
Uma aplicação guarda as regras que decidem o que acontece com cada requisição. Ela precisa apenas de um nome, e todas as outras configurações mantêm o valor padrão. Enquanto uma regra não nomear um connector, a aplicação não tem uma origem para onde enviar as requisições.
Para criar a aplicação pela Azion CLI:
A saída traz o ID da aplicação:
A aplicação está ativa e não tem regras. Cache e Functions começam ativados, e Application Accelerator e Image Processor começam desativados. Anote o ID: a regra e o deployment o passam como <application-id>.
Envie toda requisição para o connector
Uma regra no Rules Engine para Applications combina critérios com behaviors. Esta regra roda na fase de requisição. O critério dela, ${uri} começando com /, corresponde a toda requisição. O behavior dela, Set Connector, envia cada requisição correspondente para o seu connector. Para mais informações, consulte Set Connector.
O critério usa ${uri}, não ${request_uri}. ${request_uri} precisa de Application Accelerator ativado. Em uma aplicação sem ele, a API recusa a regra com 400 e o erro 25047, Missing Required Modules.
Para criar a regra pela Azion CLI, mantenha a regra em um arquivo: em uma linha de comando, o shell expandiria ${uri}. Salve este corpo como rule.json e substitua <connector-id> pelo ID do seu connector:
Cada grupo em criteria abre com uma condição cujo conditional é if. Crie a regra na fase de requisição da sua aplicação. Substitua <application-id> pelo ID da sua aplicação:
A saída traz o ID da regra:
A regra está ativa na sua aplicação e envia toda requisição para o seu connector.
Entregue a aplicação por um workload
Um workload guarda o que recebe as requisições: o domínio, os protocolos e os certificados. A aplicação não guarda nenhuma dessas configurações. O deployment do workload nomeia a aplicação que ele executa, e o deployment atual é o que atende as requisições. Um workload novo responde em um domínio de workload que a Azion atribui sob map.azionedge.net.
Para criar o workload pela Azion CLI:
A saída traz o ID do workload:
Crie o deployment que nomeia a sua aplicação. Substitua <workload-id> e <application-id>:
A saída traz o ID do deployment:
--current true faz deste deployment o que o workload entrega. Ele nomeia a sua aplicação e nenhum firewall.
Para encontrar o domínio de workload, descreva o workload em JSON:
O campo workload_domain guarda o domínio para onde vai a requisição final.
Envie uma requisição pelo workload
Esta etapa precisa apenas do curl, qualquer que seja a interface que você usou para montar a cadeia. No comando, substitua <your-workload-domain> pelo domínio de workload do workload que você criou.
Um workload novo não responde de imediato. O primeiro deployment dele pode levar vários minutos para chegar ao tráfego, e nenhuma duração é garantida. Até lá, o domínio de workload responde 404 com uma página provisória. Enquanto o deployment se propaga, as respostas à mesma requisição podem alternar entre esse 404 e a resposta da sua origem. Repita a requisição até a resposta vir da sua origem.
Envie uma requisição para o caminho raiz do seu domínio de workload:
A resposta é a que a sua origem retorna para /: o status, os headers e o corpo dela. Qualquer outro caminho chega à sua origem da mesma forma, porque a regra corresponde a toda URI que começa com /. A sua aplicação agora envia toda requisição no domínio de workload dela para a sua origem pelo connector.