Cria um nome de domínio personalizado no Function Compute 3.0.
Sintaxe
{
"Type": "ALIYUN::FC3::CustomDomain",
"Properties": {
"AuthConfig": Map,
"DomainName": String,
"Protocol": String,
"CertConfig": Map,
"RouteConfig": Map,
"TlsConfig": Map,
"WafConfig": Map
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
AuthConfig |
Map |
Sim |
Sim |
Configure as autenticações de permissão. |
Para obter mais informações, consulte Propriedades de AuthConfig. |
|
DomainName |
String |
Sim |
Não |
Especifique o nome de domínio personalizado. |
O domínio deve ter um registro ICP no sistema de Registro ICP da Alibaba Cloud ou incluir a Alibaba Cloud como provedora de serviços nas informações de registro. |
|
Protocol |
String |
Sim |
Sim |
Tipo de protocolo compatível com o nome de domínio personalizado. |
Valores válidos:
|
|
CertConfig |
Map |
Não |
Sim |
Configure o certificado HTTPS. |
Para obter mais informações, consulte Propriedades de CertConfig. |
|
RouteConfig |
Map |
Não |
Sim |
Tabela de rotas. |
Mapeia caminhos para funções ao invocar uma função pelo nome de domínio personalizado. Para obter mais informações, consulte Propriedade RouteConfig. |
|
TlsConfig |
Map |
Não |
Sim |
Configure o TLS (Transport Layer Security). |
Para obter mais informações, consulte Propriedades de TlsConfig. |
|
WafConfig |
Map |
Não |
Sim |
Configure o Web Application Firewall (WAF). |
Para obter mais informações, consulte Propriedade WafConfig. |
Sintaxe de CertConfig
"CertConfig": {
"PrivateKey": String,
"CertName": String,
"Certificate": String
}
Propriedades de CertConfig
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
CertName |
String |
Sim |
Sim |
Nome do certificado. |
Nenhuma. |
|
Certificate |
String |
Sim |
Sim |
Certificado no formato PEM (Privacy Enhanced Mail). |
Nenhuma. |
|
PrivateKey |
String |
Sim |
Sim |
Chave privada no formato PEM. |
Nenhuma. |
Sintaxe de TlsConfig
"TlsConfig": {
"MinVersion": String,
"MaxVersion": String,
"CipherSuites": List
}
Propriedades de TlsConfig
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
CipherSuites |
List |
Sim |
Sim |
Conjuntos de cifras TLS. |
Limite de 100 conjuntos de cifras. |
|
MinVersion |
String |
Sim |
Sim |
Versão mínima do TLS. |
Valores válidos:
|
|
MaxVersion |
String |
Não |
Sim |
Versão máxima do TLS. |
Valores válidos:
|
Sintaxe de RouteConfig
"RouteConfig": {
"Routes": List
}
Propriedade RouteConfig
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Routes |
List |
Sim |
Sim |
Configurações de rota. |
Limite de 100 conjuntos de configurações de rota. Para obter mais informações, consulte Propriedades de Routes. |
Sintaxe de Routes
"Routes": [
{
"Path": String,
"FunctionName": String,
"Qualifier": String,
"RewriteConfig": Map,
"Methods": List
}
]
Propriedades de Routes
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
FunctionName |
String |
Sim |
Sim |
Nome da função. |
Nenhuma. |
|
Path |
String |
Sim |
Sim |
Regra de correspondência de rota. |
Nenhuma. |
|
Qualifier |
String |
Sim |
Sim |
Versão ou alias. |
Nenhuma. |
|
Methods |
List |
Não |
Não |
Métodos compatíveis. |
Valores válidos:
|
|
RewriteConfig |
Map |
Não |
Não |
Configurações de reescrita. |
Para obter mais informações, consulte Propriedades de RewriteConfig. |
Sintaxe de RewriteConfig
"RewriteConfig": {
"WildcardRules": List,
"RegexRules": List,
"EqualRules": List
}
Propriedades de RewriteConfig
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
EqualRules |
List |
Não |
Sim |
Regras de correspondência exata. |
Limite de 100 regras de correspondência exata. Para obter mais informações, consulte Propriedades de EqualRules. |
|
RegexRules |
List |
Não |
Sim |
Regras de correspondência por expressão regular. |
Limite de 100 regras de correspondência por regex. Para obter mais informações, consulte Propriedades de RegexRules. |
|
WildcardRules |
List |
Não |
Sim |
Regras de correspondência por caractere curinga. |
Limite de 100 regras de correspondência por curinga. Para obter mais informações, consulte Propriedades de WildcardRules. |
Sintaxe de WildcardRules
"WildcardRules": [
{
"Replacement": String,
"Match": String
}
]
Propriedades de WildcardRules
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Match |
String |
Sim |
Sim |
Regra de correspondência. |
Nenhuma. |
|
Replacement |
String |
Sim |
Sim |
Regra de substituição. |
Nenhuma. |
Sintaxe de RegexRules
"RegexRules": [
{
"Replacement": String,
"Match": String
}
]
Propriedades de RegexRules
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Match |
String |
Sim |
Sim |
Regra de correspondência. |
Nenhuma. |
|
Replacement |
String |
Sim |
Sim |
Regra de substituição. |
Nenhuma. |
Sintaxe de EqualRules
"EqualRules": [
{
"Replacement": String,
"Match": String
}
]
Propriedades de EqualRules
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Match |
String |
Sim |
Não |
Regra de correspondência. |
Nenhuma. |
|
Replacement |
String |
Sim |
Não |
Regra de substituição. |
Nenhuma. |
Sintaxe de AuthConfig
"AuthConfig": {
"AuthInfo": String,
"AuthType": String
}
Propriedades de AuthConfig
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
AuthType |
String |
Sim |
Sim |
Tipo de autenticação. |
Valores válidos:
|
|
AuthInfo |
String |
Não |
Sim |
Informações de autenticação. |
Nenhuma. |
Sintaxe de WafConfig
"WafConfig": {
"EnableWAF": Boolean
}
Propriedade WafConfig
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
EnableWAF |
Boolean |
Não |
Sim |
Ative a proteção WAF. |
Nenhuma. |
Valores de retorno
Fn::GetAtt
DomainName: o nome de domínio personalizado.
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
DomainName:
Type: String
Description:
en: Domain name. Fill in the custom domain name that has been filed in Ali cloud or access to the record.
Required: true
AuthConfig:
AssociationPropertyMetadata:
Parameters:
AuthInfo:
Type: String
Description:
en: Authentication information.
Required: false
AuthType:
Type: String
Description:
en: Authentication type.
AllowedValues:
- anonymous
- function
- jwt
Required: true
Type: Json
Description:
en: Permission authentication configuration.
Required: true
Protocol:
Type: String
Description:
en: |-
Protocol types supported by the domain name. Valid values:
- HTTP: Only HTTP protocol is supported.
- HTTPS: HTTPS only is supported.
- HTTP,HTTPS: Supports HTTP and HTTPS protocols.
AllowedValues:
- HTTP
- HTTPS
- HTTP,HTTPS
Required: true
Resources:
CustomDomain:
Type: ALIYUN::FC3::CustomDomain
Properties:
DomainName:
Ref: DomainName
AuthConfig:
Ref: AuthConfig
Protocol:
Ref: Protocol
Outputs:
DomainName:
Description: The domain name
Value:
Fn::GetAtt:
- CustomDomain
- DomainName
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"DomainName": {
"Type": "String",
"Description": {
"en": "Domain name. Fill in the custom domain name that has been filed in Ali cloud or access to the record."
},
"Required": true
},
"AuthConfig": {
"AssociationPropertyMetadata": {
"Parameters": {
"AuthInfo": {
"Type": "String",
"Description": {
"en": "Authentication information."
},
"Required": false
},
"AuthType": {
"Type": "String",
"Description": {
"en": "Authentication type."
},
"AllowedValues": [
"anonymous",
"function",
"jwt"
],
"Required": true
}
}
},
"Type": "Json",
"Description": {
"en": "Permission authentication configuration."
},
"Required": true
},
"Protocol": {
"Type": "String",
"Description": {
"en": "Protocol types supported by the domain name. Valid values:\n- HTTP: Only HTTP protocol is supported. \n- HTTPS: HTTPS only is supported. \n- HTTP,HTTPS: Supports HTTP and HTTPS protocols."
},
"AllowedValues": [
"HTTP",
"HTTPS",
"HTTP,HTTPS"
],
"Required": true
}
},
"Resources": {
"CustomDomain": {
"Type": "ALIYUN::FC3::CustomDomain",
"Properties": {
"DomainName": {
"Ref": "DomainName"
},
"AuthConfig": {
"Ref": "AuthConfig"
},
"Protocol": {
"Ref": "Protocol"
}
}
}
},
"Outputs": {
"DomainName": {
"Description": "The domain name",
"Value": {
"Fn::GetAtt": [
"CustomDomain",
"DomainName"
]
}
}
}
}