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.
Central de ajuda/ Web Application Firewall/ Referência de API/ API/ Gerenciamento de sites protegidos no modo nuvem/ Atualização de configurações de nomes de domínio protegidos com o Cloud WAF
Atualizado em 2022-11-02 GMT+08:00

Atualização de configurações de nomes de domínio protegidos com o Cloud WAF

Função

Essa API é usada para atualizar configurações de nomes de domínio protegidos com o WAF na nuvem. As novas informações do servidor de origem substituirão as informações do servidor de origem antigo. Se você quiser manter as informações antigas, forneça-as como dados novos. Você pode fornecer apenas as informações atualizadas no corpo da solicitação.

URI

PATCH /v1/{project_id}/waf/instance/{instance_id}

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto. Para obtê-lo, vá para o console de gerenciamento do Huawei Cloud e passe o cursor sobre seu nome de usuário. Na janela exibida, escolha My Credentials.Em seguida, na área Projects, visualize Project ID correspondente.

instance_id

Sim

String

ID do nome de domínio. Ele pode ser obtido chamando a API ListHost.

Tabela 2 Parâmetros de consulta

Parâmetro

Obrigatório

Tipo

Descrição

enterprise_project_id

Não

String

Você pode obter o ID chamando a API ListEnterpriseProject do EPS.

Parâmetros de solicitação

Tabela 3 Parâmetros de 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 (valor de X-Subject-Token no cabeçalho da resposta).

Content-Type

Sim

String

Tipo de conteúdo.

Padrão: application/json;charset=utf8

Tabela 4 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

proxy

Não

Boolean

Se um proxy é usado para o nome de domínio protegido.

  • false: Nenhum proxy é usado.
  • true: Um proxy é usado.

certificateid

Não

String

ID do certificado. Ele pode ser obtido chamando a API ListCertificates.

  • Este parâmetro não é necessário quando o protocolo do cliente é HTTP.
  • Este parâmetro é obrigatório quando o protocolo do cliente é HTTPS.

certificatename

Não

String

Nome do certificado.

  • Este parâmetro não é necessário quando o protocolo do cliente é HTTP.
  • Este parâmetro é obrigatório quando o protocolo do cliente é HTTPS.

server

Não

Array of CloudWafServer objects

Configuração do servidor de origem do nome de domínio protegido

tls

Não

String

Versão mínima do TLS. O valor pode ser TLS v1.0, TLS v1.1, ou TLS v1.2. O TLS v1.0 é usado por padrão.

Valores de enumeração:

  • TLS v1.0
  • TLS v1.1
  • TLS v1.2
  • TLS v1.3

cipher

Não

String

Suíte Cipher. O valor pode ser cipher_1, cipher_2, cipher_3, cipher_4, ou cipher_default: cipher_1: ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH

  • cipher_2: EECDH+AESGCM:EDH+AESGCM
  • cipher_3: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH
  • cipher_4: ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH
  • cipher_default: The cryptographic algorithms are ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM.

Valores de enumeração:

  • cipher_1
  • cipher_2
  • cipher_3
  • cipher_4
  • cipher_default

http2_enable

Não

Boolean

Suportar ou não HTTP/2.

  • true: HTTP/2 é suportado.
  • false: HTTP/2 não é suportado.

ipv6_enable

Não

Boolean

Se deve ativar a proteção IPv6. Somente a edição profissional (anteriormente Enterprise Edition) e a edição platina (anteriormente Premium Edition) suportam a proteção IPv6.

  • true: A proteção IPv6 está ativada.
  • false: A proteção IPv6 está desativada.

web_tag

Não

String

Nome do site

exclusive_ip

Não

Boolean

Se usar um endereço IP exclusivo.

  • true: O endereço IP exclusivo é usado.
  • false: O endereço IP exclusivo não é prático.

paid_type

Não

String

Modo de pagamento do pacote. Atualmente, apenas o modo pré-pago é suportado.

block_page

Não

BlockPage object

Configuração da página de alarme

traffic_mark

Não

TrafficMark object

Identificador de tráfego

flag

Não

Flag object

Identificador especial, que é usado no console.

extend

Não

Map<String,String>

Campo estendido, que é usado para salvar algumas informações de configuração sobre o nome de domínio protegido.

circuit_breaker

Não

CircuitBreaker object

Configuração do disjuntor

timeout_config

Não

TimeoutConfig object

Configurações de tempo limite

Tabela 5 CloudWafServer

Parâmetro

Obrigatório

Tipo

Descrição

front_protocol

Sim

String

Protocolo usado pelo cliente para solicitar acesso ao servidor de origem.

Valores de enumeração:

  • HTTP
  • HTTPS

back_protocol

Sim

String

Protocolo usado pelo WAF para encaminhar solicitações de clientes recebidas aos servidores de origem

Valores de enumeração:

  • HTTP
  • HTTPS

weight

Não

Integer

Peso do servidor de origem. O algoritmo de balanceamento de carga encaminha solicitações para o servidor de origem com base no peso. O valor padrão é 1. Este campo não é incluído pelo WAF na nuvem.

address

Sim

String

Endereço IP do servidor de origem solicitado pelo cliente

port

Sim

Integer

Porta usada pelo WAF para encaminhar solicitações de clientes para o servidor de origem

type

Sim

String

Formato de endereço IP do servidor de origem, IPv4 e IPv6

Valores de enumeração:

  • ipv4
  • ipv6
Tabela 6 BlockPage

Parâmetro

Obrigatório

Tipo

Descrição

template

Sim

String

Nome do modelo

custom_page

Não

CustomPage object

Página de alarme personalizada

redirect_url

Não

String

URL da página redirecionada

Tabela 7 CustomPage

Parâmetro

Obrigatório

Tipo

Descrição

status_code

Sim

String

Códigos de status

content_type

Sim

String

O tipo de conteúdo da página de alarme personalizada. O valor pode ser text/html, text/xml, ou application/json.

content

Sim

String

O conteúdo da página com base no tipo de página selecionado. Para obter detalhes, consulte o Guia de usuário do Web Application Firewall (WAF).

Tabela 8 TrafficMark

Parâmetro

Obrigatório

Tipo

Descrição

sip

Não

Array of strings

Etiqueta IP. Campo do cabeçalho da solicitação HTTP do endereço IP original do cliente.

cookie

Não

String

Tag da sessão. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de cookies. Esse parâmetro deve ser configurado em regras de origem de ataque conhecidas para bloquear solicitações com base em atributos de cookie.

params

Não

String

Tag do usuário. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de params. Esse parâmetro deve ser configurado para bloquear solicitações com base nos atributos params.

Tabela 9 Flag

Parâmetro

Obrigatório

Tipo

Descrição

pci_3ds

Não

String

Se o site passa a verificação de certificação PCI 3DS.

  • true: O site passou na verificação de certificação PCI 3DS.
  • false: O site falhou na verificação de certificação do PCI 3DS.

Valores de enumeração:

  • true
  • false

pci_dss

Não

String

Se o site passou na verificação de certificação PCI DSS.

  • true: O site passou na verificação de certificação PCI DSS.
  • false: O site falhou na verificação de certificação PCI DSS.

Valores de enumeração:

  • true
  • false

cname

Não

String

O registro CNAME que está sendo usado.

  • old: O registro CNAME antigo é usado.
  • new: O novo registro CNAME é usado.

Valores de enumeração:

  • old
  • new

is_dual_az

Não

String

Se o WAF suporta o Multi-AZ DR

  • true: O WAF suporta DR multi-AZ.
  • false: O WAF não suporta DR multi-AZ.

Valores de enumeração:

  • true
  • false

ipv6

Não

String

Se a proteção IPv6 é suportada.

  • true: A proteção IPv6 é suportada.
  • false: A proteção IPv6 não é suportada.

Valores de enumeração:

  • true
  • false
Tabela 10 CircuitBreaker

Parâmetro

Obrigatório

Tipo

Descrição

switch

Não

Boolean

Se deve ativar a proteção de conexão.

  • true: Ative a proteção de conexão.
  • false: Desative a proteção de conexão.

dead_num

Não

Integer

Limite de erro 502/504. 502/504 erros permitidos a cada 30 segundos.

dead_ratio

Não

Number

Uma proteção contra avarias é acionada quando o limite de erro 502/504 e o limite percentual foram atingidos.

block_time

Não

Integer

Período de proteção após a primeira quebra. Durante esse período, o WAF deixa de encaminhar solicitações de clientes.

superposition_num

Não

Integer

O multiplicador máximo que você pode usar para quebras consecutivas. O número de avarias é contado a partir de 0 sempre que a duração da proteção contra avarias acumulada atinge 3.600s. Por exemplo, suponha que o Tempo de Inatividade Inicial (s) esteja definido como 180s e Multiplier for Consecutive Breakdowns esteja definido como 3. Se a avaria for acionada pela segunda vez, ou seja, menos de 3, a duração da proteção é de 360s (180s X 2). Se a avaria for acionada pelo terceiro ou quarto tempo, ou seja, igual ou superior a 3, a duração da proteção é de 540s (180s X 3). Quando a duração do tempo de inatividade acumulado excede 1 hora (3.600s), o número de avarias é contado a partir de 0.

suspend_num

Não

Integer

Limite do número de solicitações de URL pendentes. A proteção de conexão é acionada quando o limite é atingido.

sus_block_time

Não

Integer

Duração do tempo de inatividade após a proteção da conexão ser acionada. Durante esse período, o WAF deixa de encaminhar solicitações de sites.

Tabela 11 TimeoutConfig

Parâmetro

Obrigatório

Tipo

Descrição

connect_timeout

Não

Integer

Tempo limite para o WAF se conectar ao servidor de origem.

send_timeout

Não

Integer

Tempo limite para o WAF enviar solicitações ao servidor de origem.

read_timeout

Não

Integer

Tempo limite para o WAF receber respostas do servidor de origem.

Parâmetros de resposta

Código de estado: 200

Tabela 12 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

id

String

ID do nome de domínio

hostname

String

Nome de domínio conectado a uma instância WAF na nuvem

policyid

String

ID da política

domainid

String

ID da conta.

projectid

String

ID do projeto. Para obtê-lo, vá para o console de gerenciamento do Huawei Cloud e passe o cursor sobre seu nome de usuário. Na janela exibida, escolha My Credentials.Em seguida, na área Projects, visualize Project ID correspondente.

enterprise_project_id

String

ID do projeto empresarial

protocol

String

Tipo de protocolo de back-end

server

Array of CloudWafServer objects

Configuração do servidor de origem do nome de domínio protegido

proxy

Boolean

Se um proxy é usado para o nome de domínio protegido.

  • false: Nenhum proxy é usado.
  • true: Um proxy é usado.

protect_status

Integer

Status do WAF do nome de domínio protegido.

  • -1: A proteção WAF é ignorada. As solicitações do nome de domínio são enviadas diretamente para o servidor de backend e não passam pelo WAF.
  • 0: A proteção WAF está suspensa. O WAF encaminha apenas solicitações destinadas ao nome de domínio e não detecta ataques.
  • 1: A proteção WAF está ativada. O WAF detecta ataques com base na política configurada.

access_status

Integer

Status de acesso ao nome de domínio. O valor pode ser 0 ou 1. 0: O tráfego do site não foi encaminhado para o WAF. 1: O tráfego do site foi encaminhado para o WAF.

access_code

String

Prefixo CNAME

locked

Integer

Este parâmetro é reservado, que será usado para congelar um nome de domínio.

timestamp

Long

Hora em que o nome de domínio foi adicionado ao WAF.

certificateid

String

ID do certificado HTTPS.

certificatename

String

Nome do certificado

tls

String

Versão SSL

Valores de enumeração:

  • TLS v1.0
  • TLS v1.1
  • TLS v1.2
  • TLS v1.3

cipher

String

Suíte Cipher. O valor pode ser cipher_1, cipher_2, cipher_3, cipher_4, ou cipher_default: cipher_1: ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH cipher_2: EECDH+AESGCM:EDH+AESGCM cipher_3: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH cipher_4: ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH cipher_default: The cryptographic algorithms are ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM.

Valores de enumeração:

  • cipher_1
  • cipher_2
  • cipher_3
  • cipher_4
  • cipher_default

block_page

BlockPage object

Configuração da página de alarme

extend

Map<String,String>

Identificador especial, que é usado no console.

web_tag

String

Nome do site, que é o mesmo que o nome do site nos detalhes do nome de domínio no console do WAF.

traffic_mark

TrafficMark object

Identificador de tráfego

circuit_breaker

CircuitBreaker object

Configuração do disjuntor

lb_algorithm

String

Algoritmo de balanceamento de carga. O round robin ponderado é usado por padrão e não pode ser alterado.

Valores de enumeração:

  • ip_hash
  • round_robin
  • session_hash

timeout_config

TimeoutConfig object

Configurações de tempo limite

flag

Flag object

Identificador especial, que é usado no console.

description

String

Descrição do nome de domínio

http2_enable

Boolean

Suportar ou não HTTP/2.

  • true: HTTP/2 é suportado.
  • false: HTTP/2 não é suportado.

exclusive_ip

Boolean

Se usar um endereço IP dedicado.

  • true: Use um endereço IP dedicado.
  • false: Não use um endereço IP dedicado.

access_progress

Array of Access_progress objects

Progresso de acesso, que é usado apenas para o novo console (frontend).

Tabela 13 CloudWafServer

Parâmetro

Tipo

Descrição

front_protocol

String

Protocolo usado pelo cliente para solicitar acesso ao servidor de origem.

Valores de enumeração:

  • HTTP
  • HTTPS

back_protocol

String

Protocolo usado pelo WAF para encaminhar solicitações de clientes recebidas aos servidores de origem

Valores de enumeração:

  • HTTP
  • HTTPS

weight

Integer

Peso do servidor de origem. O algoritmo de balanceamento de carga encaminha solicitações para o servidor de origem com base no peso. O valor padrão é 1. Este campo não é incluído pelo WAF na nuvem.

address

String

Endereço IP do servidor de origem solicitado pelo cliente

port

Integer

Porta usada pelo WAF para encaminhar solicitações de clientes para o servidor de origem

type

String

Formato de endereço IP do servidor de origem, IPv4 e IPv6

Valores de enumeração:

  • ipv4
  • ipv6
Tabela 14 BlockPage

Parâmetro

Tipo

Descrição

template

String

Nome do modelo

custom_page

CustomPage object

Página de alarme personalizada

redirect_url

String

URL da página redirecionada

Tabela 15 CustomPage

Parâmetro

Tipo

Descrição

status_code

String

Códigos de status

content_type

String

O tipo de conteúdo da página de alarme personalizada. O valor pode ser text/html, text/xml, ou application/json.

content

String

O conteúdo da página com base no tipo de página selecionado. Para obter detalhes, consulte o Guia de usuário do Web Application Firewall (WAF).

Tabela 16 TrafficMark

Parâmetro

Tipo

Descrição

sip

Array of strings

Etiqueta IP. Campo do cabeçalho da solicitação HTTP do endereço IP original do cliente.

cookie

String

Tag da sessão. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de cookies. Esse parâmetro deve ser configurado em regras de origem de ataque conhecidas para bloquear solicitações com base em atributos de cookie.

params

String

Tag do usuário. Essa tag é usada por regras de origem de ataque conhecidas para bloquear ataques maliciosos com base em atributos de params. Esse parâmetro deve ser configurado para bloquear solicitações com base nos atributos params.

Tabela 17 CircuitBreaker

Parâmetro

Tipo

Descrição

switch

Boolean

Se deve ativar a proteção de conexão.

  • true: Ative a proteção de conexão.
  • false: Desative a proteção de conexão.

dead_num

Integer

Limite de erro 502/504. 502/504 erros permitidos a cada 30 segundos.

dead_ratio

Number

Uma proteção contra avarias é acionada quando o limite de erro 502/504 e o limite percentual foram atingidos.

block_time

Integer

Período de proteção após a primeira quebra. Durante esse período, o WAF deixa de encaminhar solicitações de clientes.

superposition_num

Integer

O multiplicador máximo que você pode usar para quebras consecutivas. O número de avarias é contado a partir de 0 sempre que a duração da proteção contra avarias acumulada atinge 3.600s. Por exemplo, suponha que o Tempo de Inatividade Inicial (s) esteja definido como 180s e Multiplier for Consecutive Breakdowns esteja definido como 3. Se a avaria for acionada pela segunda vez, ou seja, menos de 3, a duração da proteção é de 360s (180s X 2). Se a avaria for acionada pelo terceiro ou quarto tempo, ou seja, igual ou superior a 3, a duração da proteção é de 540s (180s X 3). Quando a duração do tempo de inatividade acumulado excede 1 hora (3.600s), o número de avarias é contado a partir de 0.

num_suspensão

número inteiro

Limite do número de solicitações de URL pendentes. A proteção de conexão é acionada quando o limite é atingido.

sus_block_time

número inteiro

Duração do tempo de inatividade após a proteção da conexão ser acionada. Durante esse período, o WAF deixa de encaminhar solicitações de sites.

Tabela 18 TimeoutConfig

Parâmetro

Tipo

Descrição

connect_timeout

Integer

Tempo limite para o WAF se conectar ao servidor de origem.

send_timeout

Integer

Tempo limite para o WAF enviar solicitações ao servidor de origem.

read_timeout

Integer

Tempo limite para o WAF receber respostas do servidor de origem.

Tabela 19 Bandeira

Parâmetro

Tipo

Descrição

pci_3ds

String

Se o site passa a verificação de certificação PCI 3DS.

  • true: O site passou na verificação de certificação PCI 3DS.
  • false: O site falhou na verificação de certificação do PCI 3DS.

Valores de enumeração:

  • true
  • false

pci_dss

String

Se o site passou na verificação de certificação PCI DSS.

  • true: O site passou na verificação de certificação PCI DSS.
  • false: O site falhou na verificação de certificação PCI DSS.

Valores de enumeração:

  • true
  • false

cname

String

O registro CNAME que está sendo usado.

  • old: O registro CNAME antigo é usado.
  • new: O novo registro CNAME é usado.

Valores de enumeração:

  • old
  • new

is_dual_az

String

Se o WAF suporta o Multi-AZ DR

  • true: O WAF suporta DR multi-AZ.
  • false: O WAF não suporta DR multi-AZ.

Valores de enumeração:

  • true
  • false

ipv6

String

Se a proteção IPv6 é suportada.

  • true: A proteção IPv6 é suportada.
  • false: A proteção IPv6 não é suportada.

Valores de enumeração:

  • true
  • false
Tabela 20 Access_progress

Parâmetro

Tipo

Descrição

step

Integer

Etapa

status

Integer

Estado. O valor pode ser 0 ou 1.

  • 0: O passo não foi concluído.
  • 1: O passo terminou.

Código de estado: 400

Tabela 21 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro

error_msg

String

Mensagem de erro

Código de estado: 401

Tabela 22 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro

error_msg

String

Mensagem de erro

Código de estado: 500

Tabela 23 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro

error_msg

String

Mensagem de erro

Exemplos de solicitações

PATCH https://{Endpoint}/v1/{project_id}/waf/instance/{instance_id}?enterprise_project_id=0

{
  "server" : [ {
    "address" : "x.x.x.x",
    "port" : "80",
    "type" : "ipv4",
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP"
  }, {
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP",
    "type" : "ipv4",
    "address" : "x.x.x.x",
    "port" : "80"
  } ],
  "ipv6_enable" : false
}

Exemplo de respostas

Código de estado: 200

OK

{
  "id" : "e91ad96e379b4bea84f8fcda3d153370",
  "hostname" : "www.demo.com",
  "protocol" : "HTTP",
  "server" : [ {
    "address" : "x.x.x.x",
    "port" : 80,
    "type" : "ipv4",
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP"
  }, {
    "address" : "1.1.1.4",
    "port" : 80,
    "type" : "ipv4",
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP"
  } ],
  "proxy" : false,
  "locked" : 0,
  "timestamp" : 1650423573577,
  "flag" : {
    "pci_3ds" : "false",
    "pci_dss" : "false",
    "ipv6" : "false",
    "cname" : "new",
    "is_dual_az" : "true"
  },
  "description" : "",
  "policyid" : "f385eceedf7c4c34a4d1def19eafbe85",
  "domainid" : "d4ecb00b031941ce9171b7bc3386883f",
  "projectid" : "0456cf04d6f64725ab02ed5bd2efdfa4",
  "enterprise_project_id" : "0",
  "protect_status" : 1,
  "access_status" : 0,
  "access_code" : "4f5372610cdc44f7970759fcca138c81",
  "block_page" : {
    "template" : "default"
  },
  "web_tag" : "we",
  "exclusive_ip" : false,
  "http2_enable" : false
}

Códigos de status

Código de status

Descrição

200

OK

400

Falha na solicitação.

401

O token não tem permissões necessárias.

500

Erro de servidor interno.

Códigos de erro

Consulte Códigos de erro.