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.