gpt4 book ai didi

ruby-on-rails - 如何在Heroku上安装LetsEncrypt SSL证书

转载 作者:行者123 更新时间:2023-12-03 23:50:48 26 4
gpt4 key购买 nike

由于Heroku是只读的,并且不允许sudo,我需要怎么做才能在我的应用程序的服务器上安装LetsEncrypt.org证书?

如果我已经设置了config.force_ssl = true,那有关系吗?

最佳答案

我在这里的第一个答案中阅读了博客文章,但我不想使用ACME网址和逻辑来污染我的代码库。所以我做了类似的事情,但是使用了DNS域验证...

使用certbot,将DNS指定为您的首选挑战:

sudo certbot certonly --manual --preferred-challenges dns


在几次提示后,certbot会告诉您使用DNS TXT记录来验证您的域:

Please deploy a DNS TXT record under the name
_acme-challenge.www.codesy.io with the following value:

CxYdvM...5WvXR0

Once this is deployed,
Press ENTER to continue


您的域名注册商可能有自己的文档来部署TXT记录。这样做,然后返回certbot并按Enter-让我们的Encrypt将检查TXT记录,对证书进行签名,然后certbot将其保存以供您上载到heroku。

See my own blog post for more detail



这是两个bash函数,可用于为您自动化流程

function makessl {
sudo certbot certonly --manual --rsa-key-size 4096 --preferred-challenges dns -d ${1}
sudo heroku certs:add --type=sni /etc/letsencrypt/live/${1}/fullchain.pem /etc/letsencrypt/live/${1}/privkey.pem
}

function renewssl {
sudo certbot certonly --manual --rsa-key-size 4096 --preferred-challenges dns -d ${1}
sudo heroku certs:update /etc/letsencrypt/live/${1}/fullchain.pem /etc/letsencrypt/live/${1}/privkey.pem
}



他们为域名辩护,只要您在 heroku app folder中运行它们,就不必指定 --app NAME

示例: makessl www.domain.com

示例: renewssl www.domain.com




结合以下为 @Eric的答案,您就可以开始了:

heroku certs:auto:enable

关于ruby-on-rails - 如何在Heroku上安装LetsEncrypt SSL证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36851571/

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