Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-05-29 GMT+08:00

Configuração de um recurso para um gateway

Função

Esta API é usada para configurar um recurso para um gateway.

A tabela a seguir lista os recursos suportados e exemplos de configuração.

Nome de recursos Descrição de recursos Exemplo de configuração Nome do parâmetro Descrição do parâmetro Valor padrão Intervalo de valores
lts Relatórios de logs de acesso Shubao {"name":"lts","enable":true,"config": "{\"group_id\": ",\"topic_id\":\"\",\"log_group\":\"\",\"log_stream\":\"\"}"} (1) group_id (2) topic_id (3) log_group (4) log_stream (1) ID do grupo de log. (2) ID do fluxo de log. (3) Nome do grupo de log. (4) Nome do fluxo de log. - -
ratelimit Configuração do limite de limitação de solicitação {"name":"ratelimit","enable":true,"config": "{\"api_limits\": 500}"} api_limits Limite de limitação de solicitações padrão para APIs. Defina este parâmetro corretamente para atender aos seus requisitos de serviço. Um pequeno valor pode constantemente estrangular seus serviços. 200 chamadas/segundo 1–1.000.000 chamadas/segundo
request_body_size Configuração do tamanho máximo do corpo da solicitação {"name":"request_body_size","enable":true,"config": "104857600"} request_body_size O tamanho máximo de corpo permitido para uma solicitação. 12 MB 1–9536 MB
backend_timeout Configuração máxima de tempo limite de back-end {"name":"backend_timeout","enable":true,"config": "{"max_timeout": 500}"} max_timeout Tempo limite máximo permitido para o API Gateway solicitar o serviço de back-end. 60.000 ms 1–600.000 ms
app_token Autenticação app_token {"name":"app_token","enable":true,"config": "{\"enable\": \"on\", \"app_token_expire_time\": 3600, \"app_token_uri\": \"/v1/apigw/oauth2/token\", \"refresh_token_expire_time\": 7200}"} (1) enable (2) app_token_expire_time (3) refresh_token_expire_time (4) app_token_uri (5) app_token_key (1) Se deve habilitar esse recurso. (2) Período de validade do token de acesso. (3) Atualizar o período de validade do token. (4) URI para obter um token. (5) Chave de criptografia de token. (1) desativar (2) 3600s (3) 7200s (4) /v1/apigw/oauth2/token (1) ativar/desativar (2) 1–72.000s (3) 1–72.000s
app_api_key Autenticação app_api_key {"name":"app_api_key","enable":true,"config": "on"} - - desativar ativar/desativar
app_basic Autenticação app_basic {"name":"app_basic","enable":true,"config": "on"} - - desativar ativar/desativar
app_secret Autenticação app_secret {"name":"app_secret","enable":true,"config": "on"} - - desativar ativar/desativar
app_jwt Autenticação app_jwt {"name":"app_jwt","enable":true,"config": "{\"enable\": \"on\", \"auth_header\": \"Authorization\"}"} (1) enable (2) auth_header (1) Habilitar ou não a autenticação app_jwt. (2) Cabeçalho de autenticação app_jwt. (1) desativar (2) Autorização (1) ativar/desativar
public_key Assinaturas de back-end public_key {"name":"public_key","enable":true,"config": "{\"enable\": \"on\", \"public_key_uri_prefix\": \"/apigw/authadv/v2/public-key/\"}"} (1) enable (2) public_key_uri_prefix (1) Habilitar ou não a autenticação app_jwt. (2) Prefixo URI usado para obter a chave pública. (1) desativar (2) /apigw/authadv/v2/public-key/ (1) ativar/desativar
backend_token_allow Permitir que os locatários transmitam tokens de forma transparente para o back-end {"name":"backend_token_allow","enable":true,"config": "{\"backend_token_allow_users\": [\"user_name\"]}"} backend_token_allow_users Lista branca de locatários autorizados a transmitir tokens de forma transparente para o back-end. O valor é uma expressão regular de nomes de domínio. - -
backend_client_certificate Autenticação bidirecional de back-end {"name":"backend_client_certificate","enable":true,"config": "{\"enable\": \"on\",\"ca\": \"\",\"content\": \"\",\"key\": \"\"}"} (1) enable (2) ca (3) content (4) key (1) Se deve habilitar esse recurso. (2) Arquivo CA de autenticação bidirecional. (3) Arquivo de autenticação bidirecional. (4) Chave privada de autenticação bidirecional. (1) desativar (1) ativar/desativar
ssl_ciphers Conjuntos de cifras HTTPS {"name":"ssl_ciphers","enable":true,"config": "config": "{\"ssl_ciphers\": [\"ECDHE-ECDSA-AES256-GCM-SHA384\"]}"} ssl_ciphers Suítes de cifras suportadas. O parâmetro ssl_ciphers não pode ficar em branco e pode conter apenas as opções na faixa de valores. - ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256
real_ip_from_xff Se o cabeçalho X-Forwarded-For deve ser usado para especificar endereços IP de origem para controle de acesso e limitação de solicitação. {"name":"real_ip_from_xff","enable": true,"config": "{\"enable\": \"on\",\"xff_index\": 1}"} (1) enable (2) xff_index (1) Se deve habilitar esse recurso. (2) Índice do endereço IP de origem no cabeçalho X-Forwarded-For. (Números negativos são permitidos e –1 é o último índice.) (1) desativar (2) -1 (1) ativar/desativar (2) Valor Int32 válido
app_route Se permitir o acesso ao endereço IP. {"name":"app_route","enable":true,"config": "on"} - - desativar ativar/desativar
vpc_name_modifiable Modificação do nome do canal do balanceamento de carga {"name":"vpc_name_modifiable","enable":true,"config": "on"} - - desativar ativar/desativar
default_group_host_trustlist Acesso ao grupo DEFAULT a partir de endereços IP que não são endereços de acesso de entrada do gateway atual {"name":"default_group_host_trustlist","enable": true,"config": "{\"enable\":\"on\",\"hosts\":[\"123.2.2.2\",\"202.2.2.2\"]}"} (1) enable (2) hosts (1) Se deve habilitar esse recurso. (2) Endereços IP que não são endereços de acesso de entrada do gateway atual. - (1) ativar/desativar
throttle_strategy Se a limitação de solicitação deve ser habilitada. {"name":"throttle_strategy","enable":true,"config": "{\"enable\": \"on\",\"strategy\": \"local\"}"} (1) enable (2) strategy (1) Se deve habilitar esse recurso. (2) Modo de limitação de solicitação. (1) desativar (1) ativar/desativar (2) cluster/local
custom_log Se imprimir cabeçalhos de solicitação personalizados, cadeias de consulta e cookies em logs. {"name":"custom_log","enable":true,"config": "{\"custom_logs\":[{\"location\":\"header\",\"name\":\"a1234\"}]}"} (1) custom_logs (2) location (3) name (1) Registros personalizados. (2) Localização. (3) Nome. - (1) Máximo 10 itens. (2) cabeçalho/consulta/cookie
real_ip_header_getter Se usar um cabeçalho personalizado para obter endereços IP de origem. {"name":"real_ip_header_getter","enable":true,"config": "{\"enable\": \"on\",\"header_getter\": \"header:testIP\"}"} (1) enable (2) header_getter (1) Se deve habilitar esse recurso. (2) Cabeçalho personalizado para obtenção de endereços IP de origem. (1) desativar (1) ativar/desativar
policy_cookie_param Suportar cookies em condições de política de back-end. {"name":"policy_cookie_param","enable":true,"config": "on"} - - desativar ativar/desativar

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/features

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto. Para obter detalhes sobre como obter um ID de projeto, consulte "Apêndice" > "Obtenção de um ID de projeto" neste documento.

instance_id

Sim

String

ID do gateway, que pode ser obtido a partir das informações de gateway no console do APIG.

Parâmetros de solicitação

Tabela 2 Parâmetros do cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token.

Tabela 3 Parâmetros de corpo de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome de recursos.

Mínimo: 1

Máximo: 64

enable

Sim

Boolean

Indica se o recurso deve ser ativada.

config

Não

String

Configuração de parâmetros.

Parâmetros de resposta

Código de status: 201

Tabela 4 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

id

String

ID da recursos.

name

String

Nome de recursos.

Mínimo: 1

Máximo: 64

enable

Boolean

Indica se o recurso deve ser ativada.

config

String

Configuração de parâmetros.

instance_id

String

ID do gateway.

update_time

String

Tempo de atualização do recurso.

Código de status: 400

Tabela 5 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 401

Tabela 6 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 403

Tabela 7 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 404

Tabela 8 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 500

Tabela 9 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Exemplo de solicitações

{
  "name" : "app_api_key",
  "config" : "on",
  "enable" : true
}

Exemplo de respostas

Código de status: 201

Criado

{
  "config" : "on",
  "enable" : true,
  "id" : "db9a9260cd3e4a16a9b5747a65d3ffaa",
  "instance_id" : "eddc4d25480b4cd6b512f270a1b8b341",
  "name" : "app_api_key",
  "update_time" : "2020-08-24T01:17:31.041984021Z"
}

Código de status: 400

Solicitação inválida

{
  "error_code" : "APIG.2000",
  "error_msg" : "unrecognized feature app-api-key"
}

Código de status: 401

Não autorizado

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Código de status: 403

Proibido

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Código de status: 404

Não encontrado

{
  "error_code" : "APIG.3030",
  "error_msg" : "The instance does not exist;id:eddc4d25480b4cd6b512f270a1b8b341"
}

Código de status: 500

Erro do servidor interno

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Códigos de status

Código de status

Descrição

201

criado

400

Solicitação inválida

401

Não autorizado

403

Proibido

404

Não encontrado

500

Erro do servidor interno

Códigos de erro

Consulte Códigos de erro.