Conecte uma aplicação a uma origem
Crie um connector para uma origem HTTP e envie as requisições de uma aplicação a ele com uma regra do Rules Engine, pelo Azion Console ou pela API.
Você pode conectar uma aplicação a uma origem com um connector e uma regra do Rules Engine que o define. A origem, também chamada de backend, é o servidor do qual a Azion obtém o seu conteúdo. Ela pode ser um serviço de object storage, um servidor em cloud ou outra infraestrutura que hospeda os assets ou os dados da sua aplicação. Você cria os dois pelo Azion Console ou pela API.
Para servir os objetos de um bucket, consulte Use um bucket como origem de uma aplicação. Para distribuir as requisições entre vários endereços, consulte Balanceie o tráfego entre múltiplas origens.
Pré-requisitos
Console
- Uma aplicação servida por um workload. Para criar os dois, consulte Primeiros passos com Applications.
- Acesso ao Azion Console. Para entrar, consulte Acesse Azion Console.
Crie um connector para a origem
Um connector guarda o endereço da origem e as opções que a Azion usa para se conectar a ela. No Azion Console, você configura connectors no menu Connectors, e não em uma aba da aplicação. Para cada campo desse formulário, consulte Configurações de connector. O connector desta seção acessa httpbin.org por HTTPS.
Console
Para criar o connector no Azion Console:
Acesse Azion Console > Connectors.
Na seção General, insira httpbin-connector em Name.
Na seção Connector Type, selecione o tipo HTTP.
Na seção Address Management, insira httpbin.org em Address. Um endereço com protocolo ou porta é recusado com Address must be a valid IPv4, IPv6, or hostname, without protocol or port.
Insira httpbin.org como o host que o connector envia à origem no header Host.
Em Transport Protocol Policy, selecione a opção que força HTTPS.
Azion Console mostra Connector successfully created.
Endereço, path e header Host
Insira o endereço como um nome de domínio ou um endereço IPv4 ou IPv6, sem http:// ou https://. Em vez disso, a chave transport_policy define o protocolo. Quando o conteúdo fica sob um path, como https://bucket.s3.amazonaws.com/applications/your-app, divida a URL. O hostname, bucket.s3.amazonaws.com, vai no endereço, e o path, /applications/your-app, vai no prefixo de path do connector, path_prefix. Um endereço que traz o path faz as requisições à origem falharem.
A chave host recebe um nome de domínio fixo ou a variável ${host}. A Azion envia um nome fixo, como httpbin.org, qualquer que seja o domínio que o usuário requisitou. Use um nome fixo quando a origem serve um único virtualhost, ou responde a um virtualhost em um endereço diferente do que está no DNS. Um nome fixo também serve para uma origem que precisa de um hostname específico para roteamento, correspondência de certificado ou controle de acesso. ${host}, o padrão, encaminha o header Host da requisição do usuário, para uma origem que serve vários virtualhosts a partir de um endereço. Um valor vazio é recusado.
Uma origem que exige autenticação HMAC, como um bucket privado de object storage, precisa de uma região, uma access key e uma secret key válidas no connector. Sem credenciais válidas, a origem recusa a requisição: o endpoint S3 do Azion Object Storage responde a uma requisição sem assinatura com 401 e UnauthorizedAccess. Uma alteração no endereço ou no header Host de um connector alcança todas as regras que o definem. Revise essas regras antes de alterar um connector que serve tráfego de produção.
Envie as requisições ao connector
Um connector não recebe nenhuma requisição até que uma regra o defina. A regra desta seção é executada na fase de requisição da aplicação. O critério dela corresponde a todos os paths, com a variável ${uri}, o operador starts_with e / como argumento, e o behavior dela define o connector. Uma aplicação começa sem regras, então é esta regra que envia as requisições dela à origem.
Para enviar apenas um path, como /httpbin, use o operador is_equal com esse path como argumento. Só com essa regra, uma requisição a qualquer outro path recebe 404.
A variável ${uri} funciona em todas as aplicações. Um critério com ${request_uri} precisa de Application Accelerator ativado na aplicação. Para todas as variáveis e todos os operadores, consulte Rules Engine para Applications.
Console
Para criar a regra no Azion Console:
Acesse Azion Console > Applications e selecione a sua aplicação.
Selecione + Rule.
Na seção General, insira um Name, como send-to-httpbin.
Na seção Phase, selecione Request Phase. Uma regra mantém a fase em que é criada.
Na seção Criteria, defina a variável como ${uri}, o operador como starts_with e o argumento como /.
Na seção Behaviors, selecione Set Connector e, em seguida, selecione o seu connector em Connector.
Selecione Save.
A regra aparece na aba Rules Engine da aplicação, em Request.
Para o behavior e os atributos dele, consulte Set Connector.
Confirme que a aplicação alcança a origem
A regra leva alguns minutos para se propagar. Até lá, a aplicação responde como respondia antes de a regra existir.
Para confirmar a rota, envie uma requisição ao domínio do seu workload, com esse domínio no lugar de <your-workload-domain>:
A resposta é a que httpbin.org retorna para /. O domínio de um workload termina em .map.azionedge.net, e a API o retorna em workload_domain quando cria o workload. Se a resposta ainda não vier da origem, envie a requisição novamente até que venha. Se nunca vier, consulte Solucionar problemas de Applications.