# Como configurar um domínio

import Tabs from '~/components/tabs/Tabs'
import Code from '~/components/Code/Code.astro'
import Apiv4Rollout from '~/includes/snippets/apiv4Rollout/en/snippet.mdx'


<Apiv4Rollout />

Com a Azion, você pode criar e executar aplicações diretamente no edge. Para permitir o acesso à sua aplicação através do navegador e começar a receber usuários e monitorar métricas, você precisa de um domínio.

Para criar um endereço de domínio gratuito para sua aplicação no formato `xxxxxxxxxx.map.azionedge.net`, siga os passos na aba apropriada abaixo. Há instruções separadas para as configurações do [Domains legado](/pt-br/documentacao/produtos/build/applications/domains/) e para o novo produto [Workloads](/pt-br/documentacao/produtos/secure/workloads).

:::tip[Dica]
Se você não tem certeza de quais passos se aplicam à sua conta, consulte [este guia](/pt-br/documentacao/produtos/guias/verificar-migracao-conta/) para determinar se sua conta já foi migrada.
:::

---

## Configure um domínio com a Azion

<Tabs client:visible>
<Fragment slot="tab.consoleworkloads">Console - Workloads</Fragment>
<Fragment slot="tab.consoledomain">Console - Domains</Fragment>
<Fragment slot="tab.apiv4">API v4</Fragment>
<Fragment slot="tab.apiv3">API v3</Fragment>

<Fragment slot="panel.consoleworkloads">

Para criar um novo Workload:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Workloads**.
2. Clique no botão **+ Workload**.
3. Dê um nome a seu Workload.
4. Selecione a **Infrastructure** para seu Workload: **Production Infrastructure** ou **Staging Infrastructure** (ambiente para testes).
5. Defina os hostnames da sua aplicação nos campos **Subdomain** e **Domain**. Você pode utilizar endereços de [domínios personalizados](#vincule-um-dominio-personalizado-a-sua-application) para vincular à sua aplicação.
6. Em **Applications**, selecione sua Applications.
7. Em **Firewall**, selecione seu firewall.
8. Em **Digital Certificate**, selecione, crie um novo, ou use o certificado Azion SAN se você pretende usar o Azion Custom Domain ou o Workload Domain.
9. Clique no botão **Save**.

Aguarde alguns minutos para que seu novo Workload se propague para os edge nodes e acesse o endereço `xxxxxxxxxx.map.azionedge.net` para visualizar sua application online.
</Fragment>
<Fragment slot="panel.consoledomain">

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Domains**.
2. Clique no botão **+ Domain**.
3. Dê um nome ao seu domínio.
4. Selecione o **Environment Type** para seu domínio: **Global Infrastructure** (ambiente de produção) ou **Staging Network** (ambiente de teste). 
5. Em **Applications**, selecione sua application.
6. Em **Firewall**, selecione seu firewall.
7. Desative **CNAME Access Only**. Isso permitirá que os usuários acessem sua aplicação usando o endereço `xxxxxxxxxx.map.azionedge.net`.
8. No campo **CNAME**, você pode listar endereços de [domínios personalizados](#vincule-um-dominio-personalizado-a-sua-application) para vincular à sua aplicação.
9. Em **Digital Certificate**, selecione o certificado **Azion SAN**.
10. Clique no botão **Save**.

Aguarde alguns minutos para que seu novo domínio se propague para os edge nodes e acesse o endereço `xxxxxxxxxx.map.azionedge.net` para visualizar sua application online.
</Fragment>

<Fragment slot="panel.apiv4">
1. Execute a seguinte requisição `POST`, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/) para criar um novo Workload.

<Code lang="bash" code={`curl --request POST \
  --url https://api.azion.com/v4/workspace/workloads \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Example CN0 DC0",
    "active": true,
    "infrastructure": 1,
    "protocols": {
      "http": {
        "versions": [
          "http1",
          "http2"
        ]
      }
    },
    "workload_domain_allow_access": true
  }'`}/>


Chave | Descrição |
--- | --- |
`name` | Define a string no valor como um nome da entrada do domínio com a Azion. Como este valor não representa um endereço de domínio, você pode modificá-lo para se adequar às suas necessidades. |
`workload_domain_allow_access` | Quando definido como `true`, permite o acesso via endereço Azion `xxxxxxxxxx.map.azionedge.net`. |
`infrastructure` | Infraestrutura para seu Workload: **Production Infrastructure** (1) ou **Staging Infrastructure** (2). |
`digital_certificate_id` | Quando `null`, seleciona o certificado Azion SAN. Você também pode [associar um certificado digital](/pt-br/documentacao/produtos/guias/criar-certificado-digital/) a seu Workload. |

2. Você receberá uma resposta semelhante a:

<Code lang="json" code={`{
  "state": "pending",
  "data": {
    "id": "<workload_id>",
    "name": "Example CN0 DC0",
    "active": true,
    "last_editor": "your-email@example.com",
    "last_modified": "2025-07-25T18:58:25.817955Z",
    "infrastructure": 1,
    "tls": {
      "certificate": null,
      "ciphers": 7,
      "minimum_version": "tls_1_3"
    },
    "protocols": {
      "http": {
        "versions": [
          "http1",
          "http2"
        ],
        "http_ports": [
          80
        ],
        "https_ports": [
          443
        ],
        "quic_ports": null
      }
    },
    "mtls": {
      "verification": null,
      "certificate": null,
      "crl": null
    },
    "domains": [],
    "workload_domain_allow_access": true,
    "workload_domain": "xxxxxxxxxxx.azionedge.net",
    "product_version": "1.0"
  }
}`}/>

3. Copie a URL no campo `workload_domain` e cole em um editor de texto para acessar posteriormente. 

4. Agora você deve vincular o Workload criado a uma Applications. Isso é feito criando um Workload Deployment. Execute a seguinte requisição `POST` em seu terminal, substituindo [TOKEN VALUE] pelo seu token pessoal, `<edge_application_id>` pelo ID da Applications desejada e `<workload_id>` pelo ID do Workload que você criou na etapa anterior.

<Code lang="bash" code={`curl --request POST \
  --url https://api.azion.com/v4/workspace/workloads/"<workload_id>"/deployments \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "My Workload Deployment",
    "current": true,
    "active": true,
    "strategy": {
      "type": "default",
      "attributes": {
        "edge_application": "<edge_application_id>"
      }
    }
  }'`}/>

5. O `workload_domain` recebido na resposta carrega o endereço do domínio Azion da sua application como uma string. Aguarde alguns minutos para que as alterações se propaguem e cole essa URL em seu navegador para acessar a aplicação.


:::tip
Confira a [documentação da API da Azion](https://api.azion.com/v4#) para saber mais sobre todos os recursos disponíveis via API.
:::
</Fragment>

<Fragment slot="panel.apiv3">
1. Execute a seguinte requisição `POST`, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/), a variável `<edge_application_id>` pelo [ID da sua application](/pt-br/documentacao/produtos/guias/build/definir-configuracoes-principais/):

<Code lang="bash" code={`curl --location 'https://api.azionapi.net/domains' \
--header 'Accept: application/json; version=3' \
--header 'Authorization: Token [TOKEN VALUE]'\
--header 'Content-Type: application/json' \
--data '{
    "name": "Example CN0 DC0",
    "cname_access_only": false,
    "digital_certificate_id": null,
    "edge_application_id": "<edge_application_id>"
}'`}/>

    | Chave | Descrição |
    | --- | --- |
    | `name` | Define a string no valor como um nome da entrada do domínio com a Azion. Como este valor não representa um endereço de domínio, você pode modificá-lo para se adequar às suas necessidades. |
    | `cname_access_only` | Quando definido como `false`, permite o acesso via endereço Azion. |
    | `digital_certificate_id` | Quando `null`, seleciona o certificado Azion SAN. Você também pode [associar um certificado digital](/pt-br/documentacao/produtos/guias/criar-certificado-digital/) a seu domínio. |
    | `edge_application_id` | O [ID da application](/pt-br/documentacao/produtos/guias/build/definir-configuracoes-principais/#via-api) vinculada ao domínio. |

2. Você receberá uma resposta semelhante a:

```json
{
    "results": {
        "id": "<domain_id>",
        "name": "Example CN0 DC0",
        "cnames": [],
        "cname_access_only": false,
        "digital_certificate_id": null,
        "edge_application_id": "<edge_application_id>",
        "is_active": true,
        "domain_name": "xxxxxxxxxx.map.azionedge.net",
        "is_mtls_enabled": false,
        "mtls_verification": "enforce",
        "mtls_trusted_ca_certificate_id": null
    }
}
```

3. O `domain_name` recebido na resposta carrega o endereço do domínio Azion da sua application como uma string. Aguarde alguns minutos para que as alterações se propaguem e cole essa URL em seu navegador para acessar a aplicação.

:::tip
Confira a [documentação da API da Azion](https://api.azion.com/) e a [especificação OpenAPI](https://github.com/aziontech/azionapi-openapi/) para saber mais sobre todas as funcionalidades disponíveis via API.
:::
</Fragment>

</Tabs>

---

## Vincule um domínio personalizado à sua application

Além do domínio Azion padrão, você tem a opção de associar um **domínio personalizado** no formato CNAME, como `seudominio.com`, à sua aplicação. Isso permite que você personalize o nome do domínio que os usuários usarão para acessar sua aplicação.

Quando um usuário insere o nome do domínio em seu navegador, é iniciado um processo de DNS lookup. Durante esse processo, o navegador do usuário envia uma requisição a um servidor DNS para encontrar o endereço IP associado ao domínio. Logo, o servidor DNS verifica sua base de dados para encontrar o endereço IP correspondente ao nome do domínio. Se o domínio estiver configurado para apontar para o domínio Azion, o servidor DNS retorna o endereço IP do edge node mais próximo na edge network.

Uma vez que o navegador recebe o endereço IP, ele estabelece uma conexão com o edge node apropriado. O edge node então serve o conteúdo solicitado e o navegador entrega a application.

Para personalizar o domínio de sua application, você pode optar por [associar um registro de domínio](/pt-br/documentacao/produtos/guias/apontar-dominio-para-a-azion/) ou [migrar nameservers para a Azion](/pt-br/documentacao/produtos/guias/migrar-ns-para-a-azion/).