簡體   English   中英

通過 terraform 創建 API 網關域名時出錯

[英]Error creating API Gateway Domain Name by terraform

我有 terraform 定義:

resource "aws_api_gateway_domain_name" "apigatewatDomainName" {
  domain_name              = servername.companyname.com
  certificate_arn = "arn:aws:acm:us-east-1:12345566:certificate/dddddd-3333-4444-5555 0123456789a"
}

當我應用 terraform 時出現錯誤:

錯誤:創建 API 網關域名時出錯:BadRequestException:附加到您的分配的證書不涵蓋您嘗試添加的備用域名 (CNAME)。

當我應用命令時

aws acm describe-certificate --certificate-arn <certificate-arn>

我在描述中

"DomainValidationOptions": [
        {
            "ValidationStatus": "SUCCESS",
            "ResourceRecord": {
                "Type": "CNAME",
                "Name": "_88f0a9b77497411fd26c281d7d61fbd9.servername.companyname.com",
                "Value": "_4cee246cb2515f9a0c1f101edaee900e.hkvuiqjoua.acm-validations.aws."
            },
            "ValidationDomain": "*.servername.companyname.com",
            "ValidationMethod": "DNS",
            "DomainName": "*.servername.companyname.com"
        }
    ], 

Also, in this description I see

"SubjectAlternativeNames": [
        "*.servername.companyname.com"
    ], 

所以,我假設我可以創建一個像“aaa.servername.companyname.com”這樣的域,所以我指定了資源

"aws_api_gateway_domain_name" "aaa.servername.companyname.com" {

但是 terraform 不允許在資源名稱中包含點,我看到了錯誤

“名稱必須以字母或下划線開頭,並且只能包含字母、數字、下划線和破折號。”

*.servername.companyname.com頒發的 ACM 證書似乎未涵蓋您的域servername.companyname.com

關於docs中的通配符名稱:

申請通配符證書時,星號(*)必須在域名最左邊的position,並且只能保護一個子域級別。 For example, *.example.com can protect login.example.com and test.example.com, but it cannot protect test.login.example.com. 另請注意,*.example.com僅保護 example.com 的子域,它不保護裸域或頂級域 (example.com)。

也來自相同的文檔:

但是,您可以通過在請求中指定多個域名來請求保護裸域或頂級域及其子域的證書。 例如,您可以請求保護 example.com 和 *.example.com 的證書

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM