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 2022-11-02 GMT+08:00

Adição de um nome de domínio ao Cloud WAF

Função

Essa API é usada para adicionar um nome de domínio ao WAF da nuvem.

URI

POST /v1/{project_id}/waf/instance

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.

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

hostname

Sim

String

O nome de domínio pode conter um máximo de 64 caracteres. Somente letras, dígitos, hífens, (_), de sublinhados e pontos (.) são permitidos, por exemplo www.domain.com.

policyid

Não

String

ID da política usada inicialmente para o nome de domínio. Você pode chamar a API ListPolicy para consultar a lista de políticas e exibir o ID da política específica.

server

Sim

Array of CloudWafServer objects

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

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.

web_tag

Não

String

Nome do site

exclusive_ip

Não

Boolean

Se usar um endereço IP dedicado.

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

paid_type

Não

String

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

proxy

Sim

Boolean

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

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

lb_algorithm

Não

String

Algoritmos de balanceamento de carga. Este parâmetro está incluído apenas na edição profissional (antiga edição empresarial) e edição platina (antiga edição premium).

  • Source IP hash: As solicitações de um determinado endereço IP são encaminhadas para o mesmo servidor.
  • Weighted round robin: Todas as solicitações são distribuídas aos servidores de origem, por sua vez, com base no peso atribuído a cada servidor.
  • Session hash: Solicitações com um ID de sessão específico são encaminhadas para o mesmo servidor de origem. Certifique-se de que os identificadores de tráfego para fontes de ataque conhecidas estejam configurados depois que o nome de domínio foi adicionado ao WAF. Caso contrário, a configuração de hash da sessão não terá efeito.

Valores de enumeração:

  • ip_hash
  • round_robin
  • session_hash

description

Não

String

Descrição do nome de domínio

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

Parâmetros de resposta

Código de estado: 200

Tabela 6 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 adicionado ao WAF na nuvem.

policyid

String

ID da política

access_code

String

Prefixo CNAME

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.

lb_algorithm

String

Algoritmos de balanceamento de carga. Este parâmetro está incluído apenas na edição profissional (antiga edição empresarial) e edição platina (antiga edição premium).

  • Source IP hash: As solicitações de um determinado endereço IP são encaminhadas para o mesmo servidor.
  • Weighted round robin: Todas as solicitações são distribuídas aos servidores de origem, por sua vez, com base no peso atribuído a cada servidor.
  • Session hash: Solicitações com um ID de sessão específico são encaminhadas para o mesmo servidor de origem. Certifique-se de que os identificadores de tráfego para fontes de ataque conhecidas estejam configurados depois que o nome de domínio foi adicionado ao WAF. Caso contrário, a configuração de hash da sessão não terá efeito.

Valores de enumeração:

  • ip_hash
  • round_robin
  • session_hash

protocol

String

Tipo de protocolo de cliente retornado

certificateid

String

ID do certificado devolvido

certificatename

String

Nome do certificado

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.

timestamp

Long

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

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.

web_tag

String

Nome do site

http2_enable

Boolean

Suportar ou não HTTP/2.

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

block_page

BlockPage object

Configuração da página de alarme

flag

Flag object

Identificador especial, que é usado no console.

extend

Map<String,String>

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

Tabela 7 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 8 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 9 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 10 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

Código de estado: 400

Tabela 11 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 12 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 13 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

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

{
  "hostname" : "www.demo.com",
  "server" : [ {
    "front_protocol" : "HTTPS",
    "back_protocol" : "HTTP",
    "type" : "ipv4",
    "address" : "x.x.x.x",
    "port" : "7443"
  } ],
  "proxy" : false,
  "paid_type" : "prePaid",
  "description" : "demo",
  "web_tag" : "demo",
  "certificateid" : "3ac1402300374a63a05be68c641e92c8",
  "certificatename" : "test6",
  "exclusive_ip" : false
}

Exemplo de respostas

Código de estado: 200

OK

{
  "id" : "31af669f567246c289771694f2112289",
  "hostname" : "www.demo.com",
  "protocol" : "HTTP",
  "server" : [ {
    "address" : "x.x.x.x",
    "port" : 80,
    "type" : "ipv4",
    "http2" : false,
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP"
  } ],
  "proxy" : false,
  "locked" : 0,
  "timestamp" : 1650527546420,
  "flag" : {
    "pci_3ds" : "false",
    "pci_dss" : "false",
    "ipv6" : "false",
    "cname" : "new",
    "is_dual_az" : "true"
  },
  "description" : "",
  "policyid" : "41cba8aee2e94bcdbf57460874205494",
  "domainid" : "d4ecb00b031941ce9171b7bc3386883f",
  "projectid" : "0456cf04d6f64725ab02ed5bd2efdfa4",
  "enterprise_project_id" : "0",
  "protect_status" : 1,
  "access_status" : 0,
  "access_code" : "1b18879b9d064f8bbcbf8abce7294cac",
  "block_page" : {
    "template" : "default"
  },
  "web_tag" : "",
  "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.