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
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. |
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
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 |
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.
|
certificatename |
Não |
String |
Nome do certificado.
|
web_tag |
Não |
String |
Nome do site |
exclusive_ip |
Não |
Boolean |
Se usar 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.
|
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).
Valores de enumeração:
|
description |
Não |
String |
Descrição do nome de domínio |
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:
|
back_protocol |
Sim |
String |
Protocolo usado pelo WAF para encaminhar solicitações de clientes recebidas aos servidores de origem Valores de enumeração:
|
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:
|
Parâmetros de resposta
Código de estado: 200
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.
|
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).
Valores de enumeração:
|
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.
|
timestamp |
Long |
Hora em que o nome de domínio foi adicionado ao WAF. |
exclusive_ip |
Boolean |
Se usar um endereço IP dedicado.
|
web_tag |
String |
Nome do site |
http2_enable |
Boolean |
Suportar ou não HTTP/2.
|
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
front_protocol |
String |
Protocolo usado pelo cliente para solicitar acesso ao servidor de origem. Valores de enumeração:
|
back_protocol |
String |
Protocolo usado pelo WAF para encaminhar solicitações de clientes recebidas aos servidores de origem Valores de enumeração:
|
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:
|
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 |
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). |
Parâmetro |
Tipo |
Descrição |
---|---|---|
pci_3ds |
String |
Se o site passa a verificação de certificação PCI 3DS.
Valores de enumeração:
|
pci_dss |
String |
Se o site passou na verificação de certificação PCI DSS.
Valores de enumeração:
|
cname |
String |
O registro CNAME que está sendo usado.
Valores de enumeração:
|
is_dual_az |
String |
Se o WAF suporta o Multi-AZ DR
Valores de enumeração:
|
ipv6 |
String |
Se a proteção IPv6 é suportada.
Valores de enumeração:
|
Código de estado: 400
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro |
error_msg |
String |
Mensagem de erro |
Código de estado: 401
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro |
error_msg |
String |
Mensagem de erro |
Código de estado: 500
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.