首页 文章

如何为Google Cloud Compute Engine负载均衡器设置Letsencrypt?

提问于
浏览
12

我已经设置了我的Google Cloud 端项目,以便将负载均衡器与自动扩展实例模板结合使用 . 目前,实例组只有一个实例 .

我的域名成功引用了负载均衡器IP . 直到这些步骤一切正常 .

现在我想为这个项目设置SSL . 我想用Letsencrypt服务做到这一点,但是在尝试设置它时我没有成功 .

在Google Cloud Engine负载均衡器窗口中,可以选择将先前创建的带有Google Cloud shell的证书设置到负载均衡器前端 . 不幸的是,我只能使用Google Cloud Shell创建.csr和.key文件 . 此外,我可以创建一个不安全的ssl证书并从中获取.cert文件,但我想使用letsencrypt创建一个安全的SSL证书文件 . Letsencrypt服务需要直接访问域,从执行命令行的命令行界面,这可能是我收到错误的原因,表明无法检索域名 .

我正在寻找一种使用Google Cloud在loadbalancer上安装Letsencrypt证书的方法 . 有没有办法如何使用letsencrypt手动创建.cert文件而不是直接安装?如果没有,是否有另一种方法或服务来从.csr和.key文件创建.cert文件?

3 回答

  • 2

    您可以使用sslforfree.com,它为您调用LetsEncrypt并为您提供下载密钥 . 它还可以提醒您续订证书 . (目前无法在Google LB中自动续订证书)

  • 3

    如果您在Google Compute Engine之上使用Kubernetes,那么cert-manager就是一个很好的解决方案,它是kube-lego的继承者 . 两者都可以从Let's Encrypt自动请求Kubernetes Ingress资源的证书:

    功能识别此案例需要新证书:现有证书不存在现有证书不包含所有域名现有证书已过期或接近其到期日期(参见选项LEGO_MINIMUM_VALIDITY)现有证书不可解析,无效或不匹配密钥为Let's Encrypt创建一个用户帐户(包括私钥)并将其存储在Kubernetes秘密中(秘密名称可通过LEGO_SECRET_NAME配置)从Let's Encrypt获取丢失的证书并使用HTTP-01挑战授权请求确保特定的Kubernetes对象(服务,入口)包含HTTP-01挑战的权限配置,以便成功完成官方Kubernetes Helm图表以进行简单部署 .

    GCE is available的分步教程 .

  • 1

    你可以使用certbot

    以下是如何仅创建证书的示例

    $ ./certbot-auto certonly --standalone --email admin@example.com -d example.com -d www.example.com
    

相关问题