Adiciona um nome de domínio a uma instância WAF para proteção de Configuração do Site.
Descrição da operação
Antes de chamar esta operação, o nome de domínio (Domain) deve atender aos seguintes requisitos.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
yundun-waf:CreateDomain |
create |
*DefenseResource.
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| InstanceId |
string |
Sim |
O ID da instância WAF. Nota
Você pode chamar DescribeInstance para consultar o ID da instância WAF atual. |
waf_cdnsdf3**** |
| ResourceManagerResourceGroupId |
string |
Não |
O ID do grupo de recursos do Alibaba Cloud. |
rg-acfm***q |
| Domain |
string |
Sim |
O nome de domínio a ser consultado. |
www.aliyundoc.com |
| Listen |
object |
Sim |
A configuração de escuta. |
|
| HttpsPorts |
array |
Não |
As portas de escuta para HTTPS. |
|
|
integer |
Não |
As portas de escuta para HTTPS, no formato [porta1,port2,......,portaN]. |
443 |
|
| HttpPorts |
array |
Não |
As portas de escuta para HTTP. |
|
|
integer |
Não |
As portas de escuta para HTTP, no formato [porta1,port2,......]. |
80 |
|
| Http2Enabled |
boolean |
Não |
Especifica se o HTTP/2 deve ser ativado. Este parâmetro é usado apenas quando HttpsPorts não está vazio, o que indica que o nome de domínio usa HTTPS. Valores válidos: |
true |
| CertId |
string |
Não |
O ID do certificado a ser adicionado. Este parâmetro é usado apenas quando HttpsPorts não está vazio, o que indica que o nome de domínio usa HTTPS. |
123 |
| SM2Enabled |
boolean |
Não |
Especifica se os certificados SM2 devem ser ativados. |
true |
| SM2CertId |
string |
Não |
O ID do certificado SM2 a ser adicionado. Este parâmetro é usado apenas quando SM2Enabled está definido como true. |
123-cn-hangzhou |
| SM2AccessOnly |
boolean |
Não |
Especifica se deve ser permitido apenas o acesso de cliente SM2. Este parâmetro é usado apenas quando SM2Enabled está definido como true. |
true |
| TLSVersion |
string |
Não |
A versão TLS a ser adicionada. Este parâmetro é usado apenas quando HttpsPorts não está vazio, o que indica que o nome de domínio usa o protocolo HTTPS. Valores válidos:
|
tlsv1 |
| EnableTLSv3 |
boolean |
Não |
Especifica se o TLS 1.3 deve ser suportado. Valores válidos: |
true |
| CipherSuite |
integer |
Não |
O tipo de conjunto de cifras a ser adicionado. Este parâmetro é usado apenas quando HttpsPorts não está vazio, o que indica que o nome de domínio usa HTTPS. Valores válidos: |
2 |
| CustomCiphers |
array |
Não |
Os conjuntos de cifras personalizados a serem adicionados. |
|
|
string |
Não |
Os conjuntos de cifras personalizados a serem adicionados. Este parâmetro é usado apenas quando CipherSuite está definido como 99. |
ECDHE-ECDSA-AES256-SHA384 |
|
| FocusHttps |
boolean |
Não |
Especifica se o redirecionamento forçado para HTTPS deve ser ativado. Este parâmetro é usado apenas quando HttpsPorts não está vazio (o que indica que o nome de domínio usa HTTPS) e HttpPorts está vazio (o que indica que o nome de domínio não usa HTTP). Valores válidos: |
true |
| XffHeaderMode |
integer |
Não |
O método que o WAF usa para obter o endereço IP de origem do cliente. Valores válidos: |
1 |
| XffHeaders |
array |
Não |
Os campos de cabeçalho personalizados usados para obter o endereço IP do cliente. |
|
|
string |
Não |
Os campos de cabeçalho personalizados usados para obter o endereço IP do cliente, no formato ["cabeçalho1","cabeçalho2",......]. |
Client-ip |
|
| IPv6Enabled |
boolean |
Não |
Especifica se o IPv6 deve ser ativado. Valores válidos: |
true |
| ProtectionResource |
string |
Não |
O tipo de recurso de proteção a ser usado. Valores válidos: |
share |
| ExclusiveIp |
boolean |
Não |
Especifica se um endereço IP exclusivo deve ser ativado. Este parâmetro é usado apenas quando IPv6Enabled está definido como false (o que indica que o IPv6 está desativado) e ProtectionResource está definido como share (o que indica que um cluster compartilhado está sendo usado). Valores válidos: |
true |
| HstsIncludeSubDomain |
boolean |
Não |
Especifica se o HSTS inclui subdomínios. Valores válidos: |
true |
| HstsPreload |
boolean |
Não |
Especifica se o pré-carregamento HSTS deve ser ativado. Este recurso está desativado por padrão. Valores válidos: |
false |
| HstsMaxAge |
integer |
Não |
O tempo de expiração do HSTS. Unidade: segundos. |
365000 |
| Redirect |
object |
Sim |
A configuração de encaminhamento. |
|
| Backends |
array |
Não |
Os endereços IP ou nomes de domínio dos servidores de origem correspondentes ao nome de domínio. |
|
|
string |
Não |
Os endereços IP ou nomes de domínio dos servidores de origem correspondentes ao nome de domínio. Você pode definir apenas um tipo: endereços IP do servidor de origem ou nomes de domínio do servidor de origem. Quando o endereço back-to-origin é um nome de domínio, apenas IPv4 é suportado. IPv6 não é suportado. |
1.1.XX.XX |
|
| Loadbalance |
string |
Sim |
O algoritmo de balanceamento de carga usado para solicitações de retorno à origem. Valores válidos:
|
roundRobin |
| FocusHttpBackend |
boolean |
Não |
Especifica se o back-to-origin forçado via HTTP deve ser ativado. Este parâmetro é usado apenas quando HttpsPorts não está vazio, o que indica que o nome de domínio usa HTTPS. Valores válidos: |
true |
| SniEnabled |
boolean |
Não |
Especifica se o Server Name Indication (SNI) back-to-origin deve ser ativado. Este parâmetro é usado apenas quando HttpsPorts não está vazio, o que indica que o nome de domínio usa HTTPS. Valores válidos: |
true |
| SniHost |
string |
Não |
O valor do campo de extensão SNI personalizado. Se você não definir esse parâmetro, o valor do campo Host no cabeçalho da solicitação será usado como valor do campo de extensão SNI por padrão. Na maioria dos casos, você não precisa personalizar o SNI, a menos que seu negócio tenha requisitos de configuração especiais e você deseje que o WAF use um SNI diferente do Host real da solicitação nas solicitações back-to-origin (ou seja, o SNI personalizado definido aqui). Nota
Esse parâmetro é necessário apenas quando SniEnabled está definido como true (indicando que o SNI back-to-origin está ativado). |
www.aliyundoc.com |
| RequestHeaders |
array<object> |
Não |
Os campos de cabeçalho de marcação de tráfego e valores para o nome de domínio, usados para marcar o tráfego processado pelo WAF. |
|
|
object |
Não |
O valor deste parâmetro está no formato [{"k":"chave","v":"valor"}], onde chave especifica o campo de cabeçalho de solicitação personalizado e valor especifica o valor definido para o campo. |
||
| Key |
string |
Não |
O campo de cabeçalho de solicitação personalizado. |
aaa |
| Value |
string |
Não |
O valor definido para o campo de cabeçalho de solicitação personalizado. |
bbb |
| ConnectTimeout |
integer |
Não |
O período de tempo limite de conexão. Unidade: segundos. |
120 |
| ReadTimeout |
integer |
Não |
O período de tempo limite de leitura. Unidade: segundos. |
200 |
| WriteTimeout |
integer |
Não |
O período de tempo limite de gravação. Unidade: segundos. |
200 |
| CnameEnabled |
boolean |
Não |
Especifica se o disaster recovery em nuvem pública deve ser ativado. Valores válidos:
|
true |
| RoutingRules |
string |
Não |
As regras de encaminhamento de nuvem híbrida. O valor é uma string convertida de um array JSON. Cada elemento no array JSON é uma estrutura que contém os seguintes campos: |
[ |
| Keepalive |
boolean |
Não |
Especifica se conexões persistentes devem ser ativadas. Valores válidos: |
true |
| Retry |
boolean |
Não |
Especifica se deve tentar novamente quando o WAF falhar ao encaminhar solicitações para o servidor de origem. Valores válidos: |
true |
| KeepaliveRequests |
integer |
Não |
O número de solicitações que reutilizam uma conexão persistente. Valores válidos: 60 a 1000. Valor padrão: 1000. |
1000 |
| KeepaliveTimeout |
integer |
Não |
O período de tempo limite de ociosidade para conexões persistentes. Valores válidos: 1 a 60. Valor padrão: 15. Unidade: segundos. |
15 |
| XffProto |
boolean |
Não |
Especifica se o X-Forward-For-Proto deve ser usado para passar o protocolo utilizado pelo WAF. Valores válidos: |
false |
| BackupBackends |
array |
Não |
Os endereços IP ou nomes de domínio dos servidores de origem secundários correspondentes ao nome de domínio. |
|
|
string |
Não |
Os endereços IP ou nomes de domínio dos servidores de origem secundários correspondentes ao nome de domínio. Você pode definir apenas um tipo: endereços IP do servidor de origem ou nomes de domínio do servidor de origem. Quando o endereço back-to-origin é um nome de domínio, apenas IPv4 é suportado. IPv6 não é suportado. |
2.2.XX.XX |
|
| XClientIp |
boolean |
Não |
Especifica se o WAF pode sobrescrever o X-Client-IP. Valores válidos: |
true |
| XTrueIp |
boolean |
Não |
Especifica se o WAF pode sobrescrever o X-True-IP. Valores válidos: |
true |
| WebServerType |
boolean |
Não |
Especifica se o WAF pode sobrescrever o Web-Server-Type. Valores válidos: |
true |
| WLProxyClientIp |
boolean |
Não |
Especifica se o WAF pode sobrescrever o WL-Proxy-Client-IP. Valores válidos: |
true |
| MaxBodySize |
integer |
Não |
O tamanho máximo do corpo da solicitação. Valores válidos: 2 a 10. Valor padrão: 2. Unidade: GB. |
2 |
| Http2Origin |
boolean |
Não |
Especifica se o back-to-origin HTTP/2 deve ser ativado. Valores válidos: |
true |
| Http2OriginMaxConcurrency |
integer |
Não |
O número máximo de conexões simultâneas de back-to-origin HTTP/2. Valores válidos: 1 a 512. Valor padrão: 128. |
128 |
| BackendPorts |
array<object> |
Não |
A configuração de porta personalizada. |
|
|
object |
Não |
A configuração de porta personalizada. |
||
| ListenPort |
integer |
Não |
A porta de escuta. |
80 |
| BackendPort |
integer |
Não |
A porta back-to-origin. |
80 |
| Protocol |
string |
Não |
O protocolo da porta de escuta. Valores válidos: |
http |
| ProxyProtocol |
boolean |
Não |
Indica se o recurso de preservação do IP de origem do cliente está ativado.
|
false |
| RegionId |
string |
Sim |
A região onde a instância WAF reside. Valores válidos: |
cn-hangzhou |
| AccessType |
string |
Não |
O tipo de acesso da instância do WAF. Valores válidos:
Nota
Se o valor for share, ou se o valor for hybrid_cloud_cname e a recuperação de desastres em nuvem pública estiver ativada, chame as operações DescribeVerifyContent e VerifyDomainOwner para verificar a propriedade do nome de domínio primeiro. Se o nome de domínio estiver conectado a uma região na China continental, o registro ICP também deve ser concluído. |
share |
| Tag |
array<object> |
Não |
A lista de tags. Você pode especificar até 20 tags. |
|
|
object |
Não |
As tags do recurso. Você pode especificar até 20 tags. |
||
| Key |
string |
Não |
A chave da tag. |
Tagkey1 |
| Value |
string |
Não |
O valor da tag. |
TagValue1 |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
A resposta retornada após a adição de um nome de domínio. |
||
| RequestId |
string |
O ID da solicitação. |
D7861F61-5B61-46CE-A47C-6B19160D5EB0 |
| DomainInfo |
object |
As informações sobre o nome de domínio adicionado. |
|
| Cname |
string |
O CNAME atribuído pelo WAF ao nome de domínio. |
xxxxxwww.****.com |
| Domain |
string |
O nome do domínio adicionado. |
www.aliyundoc.com |
| DomainId |
string |
O ID do nome de domínio. |
www.aliyundoc.com-waf |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "D7861F61-5B61-46CE-A47C-6B19160D5EB0",
"DomainInfo": {
"Cname": "xxxxxwww.****.com",
"Domain": "www.aliyundoc.com",
"DomainId": "www.aliyundoc.com-waf"
}
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | Waf.Pullin.ResourceExsit | Access resource already exists, resource:%s. | O recurso conectado já existe. Recurso existente: %s. |
| 400 | Waf.Pullin.BusinessViolation | The web services are suspected of violating regulations. If you have any questions, please submit a work order. Violating resource: %s. | O serviço é suspeito de violações. Se você tiver dúvidas, envie um ticket. Recurso em violação: %s. |
| 400 | Waf.Pullin.Http2OriginMustOnHttp2Enable | When HTTP2 origin is enabled, HTTP2 listening must be enabled. | A escuta HTTP/2 deve ser ativada quando o back-to-origin HTTP/2 estiver ativado. |
| 400 | Waf.Pullin.Http2OriginMustOnKeepaliveEnable | When the HTTP2 origin is turned on, the keepalive must be turned on. | O keep-alive deve ser ativado quando o back-to-origin HTTP/2 estiver ativado. |
| 400 | Waf.Pullin.Http2OriginEnabledFocusHttpBackendForbidden | When HTTP2 origin is enabled, HTTP origin cannot be enabled. | O back-to-origin HTTP não pode ser ativado quando o back-to-origin HTTP/2 está ativado. |
| 400 | Waf.Pullin.BatchDnsScheduleCheckFailed | Batch dns scheduling is in progress, and access related operations are prohibited. | O agendamento de DNS em lote está em andamento. Operações relacionadas à conexão são proibidas. |
| 400 | Waf.Pullin.InvalidMaxAgeWithPreload | HstsMaxAge the parameter is incorrect, when the HstsPreload is True, the HstsMaxAge must be greater than or equal to 31536000. | O parâmetro HstsMaxAge é inválido. Quando HstsPreload está definido como True, HstsMaxAge deve ser maior ou igual a 31536000. |
| 400 | Waf.Pullin.InvalidIncludeSubDomainWithPreload | The parameter HstsIncludeSubDomain is invalid. When the parameter HstsPreload is true, the HstsIncludeSubDomain must be true. | O parâmetro HstsIncludeSubDomain é inválido. Quando HstsPreload está definido como true, HstsIncludeSubDomain também deve ser definido como true. |
| 400 | Waf.Pullin.InvalidCustomCiphers | Invalid custom cipher suite. | O conjunto de cifras personalizado é inválido. |
| 400 | Waf.Pullin.InvalidHttp2OriginWithProxyProtocol | http2Origin and proxyProtocol cannot be opened at the same time. | http2Origin e proxyProtocol não podem ser ativados simultaneamente. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.