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 a uma instância dedicada do WAF

Função

Essa API é usada para conectar um nome de domínio a uma instância dedicada do WAF.

URI

POST /v1/{project_id}/premium-waf/host

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

Content-Type

Sim

String

Tipo de conteúdo.

Padrão: application/json;charset=utf8

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).

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

Parâmetro

Obrigatório

Tipo

Descrição

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.

hostname

Sim

String

Nome de domínio protegido ou endereço IP (porta permitida)

proxy

Sim

Boolean

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

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

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 de uma política específica.

server

Sim

Array of PremiumWafServer objects

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

block_page

Não

BlockPage object

Configuração da página de alarme. Este parâmetro é opcional. Quando uma página definida pelo usuário precisa ser configurada, todos os subcampos deste parâmetro são obrigatórios.

description

Não

String

Observações do nome de domínio protegido

Tabela 5 PremiumWafServer

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

O endereço do servidor de origem é um endereço IPv4 ou IPv6.

Valores de enumeração:

  • ipv4
  • ipv6

vpc_id

Sim

String

ID de VPC. Para obter o ID da VPC, execute as seguintes etapas: Use um dos métodos a seguir para obter o ID da VPC.

  • Faça login no console do WAF e escolha Instance Management > Dedicated Engine > VPC\Subnet. O ID da VPC está na coluna VPC\Subnet.
  • Faça login no console da VPC e clique no nome da VPC. Na página exibida, copie o ID na área VPC Information.
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).

Parâmetros de resposta

Código de estado: 200

Tabela 8 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

id

String

ID do nome de domínio

hostname

String

Nomes de domínio protegidos

protocol

String

Protocolo do cliente. o protocolo usado por um cliente (por exemplo, um navegador) para acessar seu site.

Valores de enumeração:

  • HTTPS
  • HTTP
  • HTTP&HTTPS

server

Array of PremiumWafServer objects

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

proxy

Boolean

Se deve usar um proxy

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

locked

Integer

Status do nome de domínio. O valor pode ser 0 ou 1.0: O nome de domínio não está congelado. 1: O nome de domínio está congelado. Este parâmetro é redundante nesta versão.

timestamp

Long

Hora em que o nome de domínio foi adicionado ao WAF. O valor é um carimbo de data/hora de 13 dígitos em ms.

tls

String

Versão TLS. Você pode usar o TLS v1.0, TLS v1.1 ou TLS v1.2. O TLS v1.0 é usado por padrão. O parâmetro tls está disponível somente quando o protocolo do cliente é HTTPS.

Valores de enumeração:

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

cipher

String

A cipher de parâmetro é necessária somente quando o protocolo do cliente é HTTPS. 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: 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

extend

Map<String,String>

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

flag

Flag object

Identificador especial, que é usado no console.

description

String

Descrição do nome de domínio

policyid

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 de uma política específica.

domainid

String

ID da conta, que é o mesmo que o ID da conta na página My Credentials. Para acessar esta página, faça login no console de gerenciamento do Huawei Cloud, passe o cursor sobre seu nome de usuário e clique em My Credentials na janela exibida.

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. Para obter a ID, faça login primeiro no console de gerenciamento do Huawei Cloud. Na barra de menus na parte superior da página, escolha Enterprise > Project Management. Em seguida, clique no nome do projeto e visualize o ID.

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.

página_bloco

BlockPage object

Configuração da página de alarme

Tabela 9 PremiumWafServer

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

O endereço do servidor de origem é um endereço IPv4 ou IPv6.

Valores de enumeração:

  • ipv4
  • ipv6

vpc_id

String

ID de VPC. Para obter o ID da VPC, execute as seguintes etapas: Use um dos métodos a seguir para obter o ID da VPC.

  • Faça login no console do WAF e escolha Instance Management > Dedicated Engine > VPC\Subnet. O ID da VPC está na coluna VPC\Subnet.
  • Faça login no console da VPC e clique no nome da VPC. Na página exibida, copie o ID na área VPC Information.
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
Tabela 11 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 12 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).

Código de estado: 400

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

Código de estado: 401

Tabela 14 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 15 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}/premium-waf/host?enterprise_project_id=0

{
  "hostname" : "www.demo.com",
  "server" : [ {
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP",
    "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247",
    "type" : "ipv4",
    "address" : "x.x.x.x",
    "port" : 80
  } ],
  "proxy" : false,
  "description" : ""
}

Exemplo de respostas

Código de estado: 200

OK

{
  "id" : "51a5649e52d341a9bb802044950969dc",
  "hostname" : "www.demo.com",
  "protocol" : "HTTP",
  "server" : [ {
    "address" : "x.x.x.x",
    "port" : 80,
    "type" : "ipv4",
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP",
    "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247"
  } ],
  "proxy" : false,
  "locked" : 0,
  "timestamp" : 1650596007113,
  "flag" : {
    "pci_3ds" : "false",
    "pci_dss" : "false"
  },
  "description" : "",
  "policyid" : "1607df035bc847b582ce9c838c083b88",
  "domainid" : "d4ecb00b031941ce9171b7bc3386883f",
  "enterprise_project_id" : "0",
  "protect_status" : 1,
  "access_status" : 0,
  "web_tag" : "",
  "access_progress" : [ ]
}

Códigos de status

Código de status

Descrição

200

OK

400

Pedido inválido.

401

O token não tem a permissão necessária.

500

Erro de servidor interno.

Códigos de erro

Consulte Códigos de erro.