将 serverless 和 serverless-domain-manager 与自定义域一起使用时的证书问题

Posted

技术标签:

【中文标题】将 serverless 和 serverless-domain-manager 与自定义域一起使用时的证书问题【英文标题】:Certificate issue when using serverless and serverless-domain-manager with custom domain 【发布时间】:2020-04-24 10:25:04 【问题描述】:

我正在尝试为我的 API Gateway 和 Lambda 函数设置 custom domain

我用route53 注册了一个域。例如:myDomainToTestApi.net

我还创建了以下证书:myDomainToTestApi.net、*.myDomainToTestApi.net、www.myDomainToTestApi.net

我为serverless framerwork安装了插件serverless-domain-manager

在我的serverless.yml 中我添加了(在custom 下):

 customDomain:
    domainName: myDomainToTestApi.net
    basePath: ''
    stage: $opt:stage, 'dev'
    certificateName: '*.myDomainToTestApi.net'
    createRoute53Record: true

所有资源都在us-east-1

当我跑步时:

sls create-domain

我收到以下错误...

Serverless: Load command test
Serverless: Load command dashboard
Serverless: Invoke create_domain
Serverless: [AWS apigateway 404 0.374s 0 retries] getDomainName( domainName: 'myDomainToTestApi.net' )
Serverless Domain Manager: NotFoundException: Invalid domain name identifier specified
Serverless: [AWS acm 200 0.35s 0 retries] listCertificates( CertificateStatuses: [ 'PENDING_VALIDATION', 'ISSUED', 'INACTIVE', [length]: 3 ] )

  Error --------------------------------------------------

  Error: Error: Could not find the certificate *.myDomainToTestApi.net.
      at ServerlessCustomDomain.<anonymous> (/Users/user/project/node_modules/serverless-domain-manager/dist/index.js:279:23)

如果我转到证书管理器视图,所有的状态都是 Issued

任何人都知道会发生什么...?谢谢。

【问题讨论】:

我遇到了同样的错误,你解决了吗? 【参考方案1】:

尝试添加另一个名为certificateArn的属性,您可以在域的证书管理器详细视图中找到certicateArn

certificateArn: 'xxxxx'

【讨论】:

我添加了arn。仍然失败,但使用新的error:无服务器:加载命令仪表板无服务器:调用 create_domain 无服务器:[AWS apigateway undefined 9.234s 0 retries] getDomainName( domainName: 'myDomainToTestApi.net' ) Serverless Domain Manager: CredentialsError: Missing credentials in config 错误 ----- --------------------------------------------- 错误:错误:无法要获取有关 myDomainToTestApi.net 的信息顺便说一句,我的 AWS 凭证在 /.aws/credentials 然后出现另一个神秘错误...UnexpectedParameter: Unexpected key 'securityPolicy' found in params 即使我自己没有指定(使用默认值)【参考方案2】:

其实是

sls create_domain

(注意下划线)

【讨论】:

@AnkurLoriya 对不起,伙计,但这是正确的命令...这里是文档:npmjs.com/package/serverless-domain-manager

以上是关于将 serverless 和 serverless-domain-manager 与自定义域一起使用时的证书问题的主要内容,如果未能解决你的问题,请参考以下文章

Serverless 的初心现状和未来

Serverless 的初心现状和未来

Serverless应用架构转型

使用率激增250%,这份报告再次将 Serverless 推向幕前

Serverless 的资源评估与成本探索

阿里云 Serverless 助力企业全面拥抱云原生