Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
APLICA-SE A: Todas as camadas de gerenciamento de API
A forward-request política encaminha a solicitação de entrada para o serviço de back-end especificado no contexto da solicitação. A URL do serviço de back-end é especificada nas configurações da API e pode ser alterada usando a política de serviço de back-end definida.
Important
- Esta política é necessária para encaminhar solicitações para um back-end de API. Por padrão, o Gerenciamento de API configura essa política no escopo global.
- A remoção dessa política faz com que a solicitação não seja encaminhada para o serviço de back-end. As políticas na seção de saída são avaliadas imediatamente após a conclusão bem-sucedida das políticas na seção de entrada.
Note
Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.
Policy statement
<forward-request http-version="1 | 2or1 | 2" timeout="time in seconds (alternatively, use timeout-ms)" | timeout-ms="time in milliseconds (alternatively, use timeout)" continue-timeout="time in seconds" follow-redirects="false | true" buffer-request-body="false | true" buffer-response="true | false" fail-on-error-status-code="false | true"/>
Attributes
| Attribute | Description | Required | Default |
|---|---|---|---|
| timeout | A quantidade de tempo, em segundos, para aguardar que os cabeçalhos de resposta HTTP sejam retornados pelo serviço de back-end antes que um erro de tempo limite seja gerado. O valor mínimo é 0 segundos. Valores superiores a 240 segundos podem não ser respeitados, porque a infraestrutura de rede subjacente pode descartar conexões ociosas após esse período. São permitidas expressões de política. Você pode especificar um timeout ou timeout-ms mas não ambos. |
No | 300 |
| timeout-ms | A quantidade de tempo, em milissegundos, para aguardar que os cabeçalhos de resposta HTTP sejam retornados pelo serviço de back-end antes que um erro de tempo limite seja gerado. O valor mínimo é 0 ms. São permitidas expressões de política. Você pode especificar um timeout ou timeout-ms mas não ambos. |
No | N/A |
| continue-timeout | A quantidade de tempo, em segundos, para aguardar que um 100 Continue código de status seja retornado pelo serviço de back-end antes que um erro de tempo limite seja gerado. São permitidas expressões de política. |
No | N/A |
| http-version | A versão do protocolo HTTP a ser usada ao enviar a solicitação HTTP para o serviço de back-end: - 1: HTTP/1 - 2: HTTP/2 - 2or1: O gateway favorece HTTP/2 sobre HTTP/1, mas volta para HTTP/1 se HTTP/2 não funcionar.A saída HTTP/2 é suportada em gateways selecionados. Consulte Notas de uso para obter detalhes. |
No | 1 |
| follow-redirects | Especifica se os redirecionamentos do serviço de back-end são seguidos pelo gateway ou retornados ao chamador. São permitidas expressões de política. | No | false |
| buffer-request-body | Quando definido como true, a solicitação é armazenada em buffer e será reutilizada na nova tentativa. |
No | false |
| buffer-response | Afeta o processamento de respostas em partes. Quando definido como false, cada parte recebida do back-end é imediatamente devolvida ao chamador. Quando definido como true, os blocos são armazenados em buffer (8 KB, a menos que o fim do fluxo seja detetado) e só então retornam ao chamador.Defina como false com back-ends, como aqueles que implementam eventos enviados pelo servidor (SSE) que exigem que o conteúdo seja retornado ou transmitido imediatamente para o chamador. Expressões de política não são permitidas. |
No | true |
| fail-on-error-status-code | Quando definido como true, aciona a seção on-error para códigos de resposta no intervalo de 400 a 599, inclusive. Expressões de política não são permitidas. |
No | false |
Usage
- Seções de política: back-end
- Âmbitos de política: global, área de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
Usage notes
Use o
http-versionatributo para habilitar a saída do protocolo HTTP/2 do gateway para o back-end. Defina o atributo como2or1ou2. Atualmente, a saída HTTP/2 é suportada no gateway auto-hospedado e em visualização no gateway v2.Important
No gateway v2, há suporte para HTTP/2 de entrada para o gateway de Gerenciamento de API e de saída do gateway para o back-end, mas não de ponta a ponta. Atualmente, o gateway v2 faz downgrade de uma conexão HTTP/2 de entrada para HTTP/1 antes de encaminhar a solicitação para o back-end.
Examples
Enviar solicitação para back-end HTTP/2
A política de nível de API a seguir encaminha todas as solicitações de API para um serviço de back-end HTTP/2. Por exemplo, use essa política para encaminhar solicitações de um gateway auto-hospedado para um back-end gRPC.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request http-version="2or1"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Encaminhar solicitação com intervalo de tempo limite
A política de nível de API a seguir encaminha todas as solicitações de API para o serviço de back-end com um intervalo de tempo limite de 60 segundos.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Herdar a política do escopo pai
Essa política de nível de operação usa o base elemento para herdar a política de back-end do escopo de nível de API pai.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<base/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Não herdar a política do escopo pai
Essa política de nível de operação encaminha explicitamente todas as solicitações para o serviço de back-end com um tempo limite de 120 e não herda a política de back-end de nível de API pai. Se o serviço de back-end responder com um código de status de erro de 400 a 599 inclusive, a seção on-error será acionada.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="120" fail-on-error-status-code="true" />
<!-- effective policy. note the absence of <base/> -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Não encaminhar solicitações para back-end
Essa política de nível de operação não encaminha solicitações para o serviço de back-end.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<!-- no forwarding to backend -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Related policies
Related content
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Policy expressions
- Definir ou editar políticas
- Reutilizar configurações de política
- Recompra de trechos de política
- Política de recompra de parques infantis
- Kit de ferramentas de política de Gerenciamento de API do Azure
- Obtenha assistência do Copilot para criar, explicar e resolver problemas com políticas