由于Heroku是只读的,不允许sudo,我需要做些什么才能在我的应用程序的服务器上安装LetsEncrypt.org证书?
如果我已经设置了config.force_ssl = true那么重要吗?
解决方法
安装初始证书
您可以使用certbot在手动模式下生成挑战响应,修改您的站点以返回该响应,然后最终完成certbot手动进程.
See this blog post by Daniel Morrison,或下面的证书更新下的链接答案,了解更多详细信息.
证书更新
正如@Flimm所提及的,正如所链接的博客文章中提到的,您必须每3个月更新一次,直到Heroku为LetsEncrypt提供更好的支持.您可以使用本回答中所述的环境变量(Node / Express,但概念是一样的),使该过程更平滑(无需上传代码):https://stackoverflow.com/a/40199581/37168
沙巴翁
有一个GitHub项目可以通过设置您的Heroku环境变量来自动化所有这些.这是一个微小的webapp,您可以安装另一个Heroku应用程序,从而配置您的主要应用程序.我还没有尝试过,但计划使用它,而不是下次更新我的证书:https://github.com/dmathieu/sabayon