# Configure portas HTTP e HTTPS

import Apiv4Rollout from '~/includes/snippets/apiv4Rollout/pt/snippet.mdx'
import Tabs from '~/components/tabs/Tabs'

<Apiv4Rollout />

Com a Azion, você pode personalizar a porta do endereço de entrega da sua aplicação, bem como de quais portas do endereço de origem seu conteúdo é recuperado. Essa personalização dupla fornece controle completo sobre como seu conteúdo é buscado da origem e entregue aos seus usuários para os protocolos HTTP e HTTPS.

A escolha das portas de entrega é limitada àquelas suportadas pela Azion. No entanto, para recuperar o conteúdo de suas origens, você pode buscar seu conteúdo da porta de origem apropriada, desde que a porta exista.


Existem instruções separadas para API v3 usando configurações de [Origins legados](/pt-br/documentacao/produtos/build/applications/origins/) e API v4 usando o novo produto [Connectors](/pt-br/documentacao/produtos/secure/connectors/).

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

---

## Combinações de portas disponíveis

Existem várias combinações de portas que você pode configurar para a sua aplicação.

| Caso de uso | URL de origem exemplo | URL de entrega exemplo |
| --- | --- | --- |
| Aplicação servida de portas de origem padrão para portas de entrega padrão | `https://origin.com:443` | `https://delivery.com:443` |
| Aplicação servida de uma porta de origem padrão para um protocolo diferente de uma porta de entrega padrão | `http://origin.com:80` | `https://delivery.com:443` |
| Aplicação servida de uma porta de origem padrão para uma porta de entrega personalizada | `http://origin.com:80` | `http://delivery.com:8080` | 
| Aplicação servida de uma porta de origem personalizada para uma porta de entrega padrão | `https://origin.com:9443` | `https://delivery.com:443` |
| Aplicação servida de uma porta de origem personalizada para uma porta de entrega personalizada | `https://origin.com:8443` | `https://delivery.com:9443` |

---

## Configure as portas via Azion Console

<Tabs client:visible>
    <Fragment slot="tab.consoleedgeconnector">Console - Connectors</Fragment>
    <Fragment slot="tab.consoleorigins">Console - Origins</Fragment>

<Fragment slot="panel.consoleedgeconnector">

Para configurar as portas de origem e entrega da sua aplicação:
1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/)
2. Verifique as soluções para cada caso de uso abaixo.

### Porta de origem padrão para porta de aplicação padrão

Se você deseja que seu conteúdo seja extraído de uma porta padrão e servido em uma porta de aplicação padrão, configure sua application da seguinte maneira:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Connectors**.
2. Selecione o Connectors que você deseja configurar.
3. Preencha os campos necessários.
4. Em **Transport Protocol Policy** selecione **Preserve**.
5. Em **Address**, digite o nome do host de sua origem. Exemplo: `yourorigin.com`.
6. Clique no botão **Save**.

Agora para configurar suas configurações de entrega:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Workloads**.
2. Selecione o Workload desejado.
3. Na seção **Protocol Settings**, selecione uma das portas HTTP ou HTTPS padrão. Exemplo: `80`.
- Se você determinar que sua aplicação é entregue apenas via HTTP, você só poderá selecionar a porta `80`. Habilitar tanto HTTP quanto HTTPS ativará a porta HTTPS `443`.
4. Clique no botão **Save**.

Com essa opção habilitada, o acesso à sua aplicação através das portas padrão será através das portas padrão de sua origem.

### Porta de origem padrão modificada para porta de aplicação padrão

Você pode modificar a porta padrão da origem da sua aplicação impondo protocolos. Por exemplo, você pode determinar que sua aplicação será entregue em HTTPS, mas a comunicação com os servidores de origem deve ser feita exclusivamente em HTTP. Para fazer isso, configure sua aplicação da seguinte maneira:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Connectors**.
2. Em **Connectors**, selecione um Connector existente ou adicione um novo.
3. Preencha os campos necessários.
4. Em **Transport Protocol Policy** selecione **Force HTTP** se você deseja que o edge acesse seu conteúdo explicitamente através do HTTP.
5. Clique no botão **Save**.
6. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Workloads**.
7. Selecione o Workload desejado.
8. Na seção **Protocol Settings**, selecione uma das portas HTTP e HTTPS padrão. Exemplo: `80` e `443`.
9. Clique no botão **Save**.

:::tip
Você também pode usar o **Rules Engine** e [criar uma regra](/pt-br/documentacao/produtos/guias/build/trabalhar-com-rules-engine/) utilizando o comportamento **Redirect HTTP to HTTPS** para prevenir que seus usuários acessem a aplicação através do protocolo HTTP dado um cenário específico.
:::

### Porta de origem personalizada para porta de aplicação padrão

Você pode usar a notação `host:port` para especificar a porta de onde seu conteúdo será recuperado e entregá-lo através de uma porta de aplicação padrão. Neste caso, seu conteúdo será recuperado de uma porta personalizada de sua origem e entregue através da porta padrão que você selecionou. Para fazer isso:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Connectors**.
2. Em **Connectors**, selecione um Connector existente ou adicione um novo.
3. Preencha os campos necessários.
4. Em **Transport Protocol Policy** selecione **Preserve**.
5. Em **Address**, digite o nome do host de sua origem e em **HTTP/HTTPS PORT**, adicione a porta personalizada.
6. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Workloads**.
7. Selecione o Workload desejado.
8. Na seção **Protocol Settings**, selecione uma das portas HTTP ou HTTPS padrão. Exemplo: `443`.
9. Clique no botão **Save**.

### Porta de origem padrão para porta de aplicação personalizada

Para entregar seu conteúdo de uma porta de origem padrão para uma porta de aplicação personalizada:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Connectors**.
2. Em **Connectors**, selecione um Connector existente ou adicione um novo.
3. Preencha os campos necessários.
4. Em **Transport Protocol Policy** selecione **Preserve**.
5. Em **Address**, digite o nome do host de sua origem. Exemplo: `yourorigin.com`.
6. Clique no botão **Save**.
7. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Workloads**.
8. Selecione o Workload desejado.
9. Na seção **Protocol Settings**, selecione uma das portas HTTP ou HTTPS personalizadas. Exemplo: `9443`.
10. Clique no botão **Save**.

### Porta de origem personalizada para porta de aplicação personalizada

Se você deseja que as requisições sejam direcionadas para uma origem apenas usando portas personalizadas, você deve especificar que as requisições à sua aplicação feitas a partir da porta personalizada são direcionadas para a porta correta. Para fazer isso:

1. Em **Workloads**, em **HTTP Ports**, verifique quais portas personalizadas foram selecionadas.
2. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Connectors**.
3. Clique no botão **+ Connectors**.
4. Dê um nome fácil de lembrar para seu Connectors. Exemplo: `myconnector:8080`.
5. Preencha os campos necessários.
6. Em **Transport Protocol Policy** selecione **Preserve**.
7. Em **Address**, digite o nome do host de sua origem e em **HTTP/HTTPS PORT**, adicione a porta personalizada.
8. Preencha os campos restantes com os valores desejados.
9. Clique no botão **Save**.

Agora você precisa configurar sua aplicação para que, quando as requisições são recebidas em portas personalizadas, elas sejam redirecionadas para a porta de origem correta:

1. Vá para a aba **Rules Engine** da application.
2. Clique no botão **+ Rule**.
3. Dê um nome fácil de lembrar para sua regra. Exemplo: `Set Origin :8080`.
4. Selecione **Request Phase**.
5. Na seção **Criteria**, selecione a variável `${server_port}`.
6. Para um operador de comparação, selecione **is equal to**.
7. Como argumento, adicione a porta desejada. Exemplo: `8080`.
8. Na seção **Behaviors**, selecione o comportamento **Set Connectors**.
9. Selecione o Connectors criado nas instruções anteriores.
10. Clique no botão **Save**.

</Fragment>

<Fragment slot="panel.consoleorigins">

Para configurar as portas de origem e entrega da sua aplicação:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Applications**.
2. Selecione a application que você deseja configurar.
3. Verifique as soluções para cada caso de uso abaixo.


### Porta de origem padrão para porta de entrega padrão

Se você deseja que seu conteúdo seja extraído de uma porta padrão e servido em uma porta de entrega padrão, configure sua application da seguinte maneira:

1. Na aba **Origins**, selecione a origem padrão ou adicione uma nova origem.
2. Preencha os campos necessários.
3. Mantenha a opção **Preserve HTTP/HTTPS protocol** habilitada. 
4. Em **Address**, digite o nome do host de sua origem. Exemplo: `yourorigin.com`.
5. Clique no botão **Save**.
6. Na aba **Main Settings** da sua application, selecione uma das portas HTTP ou HTTPS padrão. Exemplo: `80`.
- Se você determinar que sua aplicação é entregue apenas via HTTP, você só poderá selecionar a porta 80. Habilitar tanto HTTP quanto HTTPS ativará a porta HTTPS 443.
7. Clique no botão **Save**. 

Com essa opção habilitada, o acesso a sua aplicação através das portas padrão será através das portas padrão de sua origem.

### Porta de origem padrão modificada para porta de entrega padrão

Você pode modificar a porta padrão da origem da sua aplicação impondo protocolos. Por exemplo, você pode determinar que sua aplicação será entregue em HTTPS, mas a comunicação com os servidores de origem deve ser feita exclusivamente em HTTP. Para fazer isso, configure sua aplicação da seguinte maneira:

1. Na aba **Origins**, selecione a origem padrão ou adicione uma nova origem.
2. Preencha os campos necessários.
3. Na seção **Protocol Policy**, selecione **Enforce HTTP** se você deseja que o edge acesse seu conteúdo explicitamente através do HTTP.
4. Clique no botão **Save**.
5. Na aba **Main Settings** do sua application, selecione uma das portas HTTP e HTTPS padrão. Exemplo: `80` e `443`.
6. Clique no botão **Save**.

:::tip
Você também pode usar o **Rules Engine** e [criar uma regra](/pt-br/documentacao/produtos/guias/build/trabalhar-com-rules-engine/) utilizando o comportamento **Redirect HTTP to HTTPS** para prevenir que seus usuários acessem a aplicação através do protocolo HTTP dado um cenário específico.
:::

### Porta de origem personalizada para porta de entrega padrão

Você pode usar a notação `host:port` para especificar a porta de onde seu conteúdo será recuperado e entregá-lo através de uma porta de entrega padrão. Neste caso, seu conteúdo será recuperado de uma porta personalizada de sua origem e entregue através da porta padrão que você selecionou. Para fazer isso:

1. Na aba **Origins**, selecione a origem padrão ou adicione uma nova origem.
2. Preencha os campos necessários.
3. Mantenha a opção **Preserve HTTP/HTTPS protocol** habilitada. 
4. Em **Address**, digite o nome do host de sua origem e adicione a notação de porta com a porta personalizada. Exemplo: `yourorigin.com:8080`.
5. Clique no botão **Save**.
6. Na aba **Main Settings** da sua application, selecione uma das portas HTTP ou HTTPS padrão. Exemplo: `443`.
7. Clique no botão **Save**.

### Porta de origem padrão para porta de entrega personalizada

Para entregar seu conteúdo de uma porta de origem padrão para uma porta de entrega personalizada:

1. Na aba **Origins**, selecione a origem padrão ou adicione uma nova origem.
2. Preencha os campos necessários.
3. Mantenha a opção **Preserve HTTP/HTTPS protocol** habilitada.
4. Em **Address**, digite o nome do host de sua origem. Exemplo: `yourorigin.com`.
5. Clique no botão **Save**.
6. Na aba **Main Settings** da sua application, selecione uma das portas HTTP ou HTTPS personalizadas. Exemplo: `9443`.
7. Clique no botão **Save**.


### Porta de origem personalizada para porta de entrega personalizada

Se você deseja que as requisições sejam direcionadas para uma origem apenas usando portas personalizadas, você deve especificar que as requisições a sua aplicação feitas a partir da porta personalizada são direcionadas para a porta correta. Para fazer isso:

1. Na aba **Main Settings**, em **Ports**, verifique quais portas personalizadas foram selecionadas.
2. Vá para a aba **Origins**.
3. Clique no botão **+ Origin**.
4. Dê um nome fácil de lembrar para sua origem. Exemplo: `Origin:8080`.
5. Preencha os campos necessários.
6. Mantenha a opção **Preserve HTTP/HTTPS protocol** habilitada.
7. Em **Address**, use a notação `host:port`. Exemplo: `yourorigin.com:8080`.
8. Preencha os campos restantes com os valores desejados.
9. Clique no botão **Save**.

Agora você precisa configurar sua aplicação para que, quando as requisições são recebidas em portas personalizadas, elas sejam redirecionadas para a porta de origem correta:

1. Navegue até a aba **Rules Engine** da application.
2. Clique no botão **+ Rule**.
3. Dê um nome fácil de lembrar para sua regra. Exemplo: `Set Origin :8080`.
4. Na seção **Criteria**, selecione a variável `${server_port}`.
5. Para um operador de comparação, selecione **is equal to**.
6. Como argumento, adicione a porta desejada. Exemplo: `8080`.
7. Na seção **Behaviors**, selecione o comportamento **Set Origin**.
8. Selecione a origem criada nas instruções anteriores.
9. Clique no botão **Save**.

</Fragment>
</Tabs>

Se mais de uma porta personalizada foi selecionada para a aplicação, você pode criar regras adicionais, repetindo as etapas anteriores para cada porta personalizada selecionada.

A partir deste momento, quando uma requisição é feita para a application usando uma porta personalizada, o edge direciona a requisição para a porta atribuída ao acessar a origem.

---