Todos os produtos
Search
Central de documentação

API Gateway:Gateways de API em múltiplos níveis

Última atualização: Jun 27, 2026

Clientes e o próprio API Gateway podem invocar as APIs criadas no API Gateway. O serviço chama APIs na mesma região por redes internas ou entre regiões pela Internet. Também é possível invocar uma API entre contas diferentes com um par de AccessKey de uma aplicação autorizada, vinculando um plug-in de assinatura de backend do tipo APIGW_FRONTEND. Antes da chamada, o API Gateway usa o par de AccessKey para gerar uma assinatura e a envia à API para autenticação. O recurso Call by API Gateway aplica-se ao seguinte cenário típico: você cria uma API de roteamento de solicitações e vincula a ela um plug-in de roteamento de backend e um plug-in de assinatura de backend. O plug-in de roteamento encaminha as solicitações para outras APIs conforme os parâmetros da requisição.

Exemplo de configuração

1. Configure as APIs de negócio

Para que o API Gateway chame sua API por uma Virtual Private Cloud (VPC), execute as etapas a seguir no console do API Gateway: adquira uma instância dedicada, migre o grupo de APIs da API para essa instância e gere manualmente um nome de domínio interno para chamadas via VPC.

  1. Ative o recurso Call by API Gateway

    a. Faça login no console do API Gateway.

    b. No painel de navegação à esquerda, escolha Instances and Clusters > Dedicated Instances. Localize a instância dedicada desejada na aba Instances e clique em Ative ao lado de Calls from API Gateway.

  2. Gere nomes de domínio internos para chamadas de API

    Crie dois grupos de APIs na instância. Em seguida, clique em cada grupo e gere um nome de domínio interno.

    Por exemplo, foram gerados os seguintes nomes de domínio internos:

17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com
c6e984b2dd784c0fb843f7c2a8878b15-cn-huhehaote-intranet.alicloudapi.com
  1. Crie uma API em cada grupo

    Crie uma API em cada grupo de APIs. Defina o parâmetro Security Authentication como Alibaba Cloud App para ambas. Os exemplos abaixo mostram os atributos presumidos das duas APIs:

    • API1: Método: GET Caminho: /business1 URL do serviço de backend:

      http://backend1.alicloudapi.com:8080/business1
    • API2 Método: GET Caminho: /business2 URL do serviço de backend:

      http://backend2.alicloudapi.com:8080/business2
  1. Autorize uma aplicação a chamar as APIs

    Autorize a mesma aplicação a chamar ambas as APIs. Neste exemplo, a aplicação possui o seguinte par de AccessKey: KEY:TESTKEY SECRET:TESTSECRET

2. Configure a API de distribuição

  1. Crie a API de distribuição

    Crie uma API de distribuição com acesso anônimo. Configure GET como método HTTP, /distributeAPI como caminho e 17ff4c9189004a1d87b557606b767334-cn-huhehaote.alicloudapi.com como nome de domínio do grupo de APIs correspondente.

  1. Crie e vincule um plug-in de roteamento de backend

    Crie um plug-in de roteamento de backend e vincule-o à API.

---
parameters:
  target: "Query:target"
routes:
- name: backend1
  condition: "$target = 'resource1'"
  backend:
    type: "HTTP"
    address: "17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com"
    path: "/business1"
- name: backend2
  condition: "$target = 'resource2'"
  backend:
    type: "HTTP"
    address: "c6e984b2dd784c0fb843f7c2a8878b15-cn-huhehaote-intranet.alicloudapi.com"
    path: "/business2"

O código acima especifica que o plug-in roteia a solicitação recebida conforme o valor do parâmetro target na seção de consulta. Se o valor for resource1, o plug-in encaminha a solicitação para 17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com e altera o caminho para /business1. Caso o valor seja resource2, o encaminhamento ocorre da mesma forma.

  1. Crie e vincule um plug-in de assinatura de backend

    Crie um plug-in de assinatura de backend e vincule-o à API.

---
type: APIGW_FRONTEND
key: TESTKEY
secret: TESTSECRET 
signatureMethod: HmacSHA256

O código acima determina o cálculo da assinatura com base no conteúdo da solicitação recebida e no algoritmo usado pelo front-end. Em seguida, o plug-in adiciona a assinatura calculada à requisição e a envia ao serviço de backend.

3. Chame a API de distribuição

Antes de chamar a API, certifique-se de que todas as APIs envolvidas estejam publicadas e testadas adequadamente.

curl 'http://17ff4c9189004a1d87b557606b767334-cn-huhehaote.alicloudapi.com/distributeAPI?target=resource1' -i

O trecho de código a seguir mostra um exemplo de solicitação enviada a um serviço de backend:

GET /business1 HTTP/1.1
User-Agent: curl/7.64.1
Via: 0045e52ee3a8400b8501b4c449b28779
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Forwarded-Proto: http
X-Forwarded-For: 192.168.XX.XX, 127.0.0.1
Host: backend1.alicloudapi.com:8080
X-Ca-Request-Id: 23853B41-C54D-45E9-8C43-EE4C1E8A7889
Via: bc48a42a3d17408b991b0bb4d18c23c0
curl 'http://17ff4c9189004a1d87b557606b767334-cn-huhehaote.alicloudapi.com/distributeAPI?target=resource2' -i

O trecho a seguir apresenta outro exemplo de solicitação enviada a um serviço de backend:

GET /business2 HTTP/1.1
User-Agent: curl/7.64.1
Via: 0045e52ee3a8400b8501b4c449b28779
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Forwarded-Proto: http
X-Forwarded-For: 192.168.XX.XX, 127.0.0.1
Host: backend2.alicloudapi.com:8080
X-Ca-Request-Id: AFD529D2-9B24-437E-8CEC-897E0BCD8B2F
Via: bc48a42a3d17408b991b0bb4d18c23c0