我正在尝试将自定义域名添加到我的heroku应用程序中,并且我似乎使用正确的命令来执行此操作,至少根据heroku文档是这样的。
heroku domains:add domain.com -a heroku-app
但是我收到以下错误。
Error: Require params: sni_endpoint.
Error ID: invalid params
我无法在谷歌上找到与我的案例相关的错误。如果有任何帮助,我将不胜感激。谢谢!
已解决:我解决了将heroku cli从
7.59.o
更新到7.59.2
的问题。
在终端中运行:
sudo npm update -g heroku
更新后,我运行:
heroku domains:add www.YOURDOMAIN.com --app YOUR_HEROKU_APP_NAME
示例:
域名 www.myverygooddomain.com 我的 Heroku 应用程序名称:my-great-app 命令:
heroku domains:add www.myverygooddomain.com --app my-great-app
https://devcenter.heroku.com/changelog-items/1938
从 2020 年 10 月 31 日开始,对域创建端点的 API 请求将接受额外的
参数。这是一个新属性,可以是:sni_endpoint
- 对有效 SNI 端点的引用,或者
如果域不应与 SNI 端点关联。null
2021 年 11 月 1 日,如果未提供
参数,API 将响应 422 错误。sni_endpoint
他们的文档和错误报告非常糟糕。
基本上,自 2021 年 11 月 1 日起,您必须添加“--cert”参数并提供您的证书名称 (sni_endpoint)。
因此,首先,通过运行手动查找您的 sni_endpoint:
heroku domains --app your-app-name
这将提供您当前所有域/子域的列表以及每个域/子域的 sni_endpoint。
然后,添加新的子域:
heroku domains:add yoursubdomain.yourdomain.com --app your-app-name --cert your_sni_endpoint_name
对于截至 2024 年 9 月仍然面临此问题的任何人,我通过首先进入设置、添加我希望服务器定位的域、将我的域/子域的 DNS 指向模块中提供的 DNS 目标,然后使用heroku cli
heroku login
heroku certs:auto:enable
它解决了一切。请关注 https://devcenter.heroku.com/articles/automated-certificate-management#common-runtime 了解有关heroku ACM 的更多信息。