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.