1

首先,我真的不想为 heroku 上的爱好 dyno 付费。我很了解他们的 ACM 流程。在测试某些东西时,我试图对支出保持谨慎。

我目前的设置如下:

Namecheap(域 xyz.com)-> xyz.herokuapp.com(正确配置了 DNS 名称)

这是正确配置的并且适用于 HTTP。我手头的任务是从 LetsEncrypt 获取证书(因为它们是免费的),并将其集成到部署在heroku.

该应用程序是一个简单的反应应用程序,使用create-react-app. 我已按照步骤从 LetsEncrypt 获取证书,并且 certbot 要求我将证书放置在此路径public/.well-known/acme-challenge/<cert-string>中。该路径中文件的内容包含 .

我遇到的问题是,该路线localhost:3000/.well-known/acme-challenge/<cert-string>在我的开发环境中运行良好。当我将 react 应用程序部署到 heroku 时,路线/.well-known/acme-challenge/<cert-string>正在前往 a304并且我无法帮助 certbot 完成验证步骤。

经过几个小时的调试,我更好地理解了heroku内部的架构,并且我明白这是一个heroku buildpack相关的问题。我目前对该问题的理解如下:

  • heroku 阻止访问/.well-known/acme-challenge/<cert-string>
  • 我必须找到一种方法来解锁这个^ ..这样certbot才能验证我的证书过程。

我做了一些研究,了解到有一种方法可以绕过 nginx.conf。这真的可能吗?

在这里寻找一些指导。


编辑1

我在这里尝试了一些方法https://github.com/heroku/heroku-buildpack-php/issues/218 - 它们效果不佳。

4

0 回答 0