gpt4 book ai didi

ubuntu - 如何将 SSL 证书添加到 asp.net core docker swarm +letsencrypt?

转载 作者:行者123 更新时间:2023-12-04 19:09:34 28 4
gpt4 key购买 nike

我有一个在 Docker Swarm 上运行的 asp.net 核心应用程序,向应用程序添加 SSL 功能并通过 letencrypt 和 certbot 自行更新证书的有效方法是什么?

我知道 Docker Swarm Secrets,但它们是不可变的,所以我不能只在更新证书时更改 secret 。

最佳答案

这是我想出的解决方案!随意提出想法以使其变得更好:)

[抱歉格式化,我无法让它做我想做的事]

  • 我在其中一台 Docker Swarm 主机上设置了一个 certbot 部署,并获得了正确域的证书,并设置了 certbot 以在可用时自动请求新证书。
  • 使用一些使用证书的必需品更新您的应用程序:
    docker service update <yourswarmapp> --env-add Kestrel__Certificates__Default__Password="cert-password" --env-add Kestrel__Certificates__Default__Path=/run/secrets/defaultcert
    --env-add ASPNETCORE_URLS="https://;"
  • 在您的机器上安装此 bash 脚本,以便每天从根 cronjob 运行。 (确保设置您自己的域和密码)

    SecretName=$(日期 +%Y-%m-%d)

    OldSecretName=$(date --date昨天+%Y-%m-%d)

    域名=您的域名

    AppName=yourswarmapp

    光盘/等

    cd让加密

    现场直播

    cd $域名

    openssl pkcs12 -export -out ${DomainName}.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -passin pass: -passout pass:

    sudo docker secret create $SecretName/etc/letsencrypt/archive/$DomainName/${DomainName}.pfx

    sudo docker service update --secret-add $SecretName --secret-rm $OldSecretName --env-add Kestrel__Certificates__Default__Path=/run/secrets/$SecretName $AppName

    sudo docker secret rm $OldSecretName
  • 坐下来享受您自动更新和清理启用 SSL 的应用程序。
  • 关于ubuntu - 如何将 SSL 证书添加到 asp.net core docker swarm +letsencrypt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60197158/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com