Heroku SSL更新時に [Must pass –name when more than one endpoint] と怒られた時の対応

どうも、エンジニアのあっきー(akinov)です🙋
ツクリンクはHerokuで運用しているのですがSSLの更新時に躓いたことをまとめます。

起こったこと

HerokuSSLの更新でエラー

公式ドキュメントを参考に鍵を用意してコマンド実行
endpoint が分からない…
https://devcenter.heroku.com/articles/ssl-endpoint#update-certificate

heroku certs:update server.crt server.key -a app-name
This is the legacy Heroku CLI. Please install the new CLI from https://cli.heroku.com
 ▸    Must pass --name when more than one endpoint

name オプションが必要だと怒られる

解決法

name オプションはドキュメントに書いてあった endpoint のことのようです。
certsが複数ある場合、指定しないといけないようです。
certsを確認して指定してあげます。

certsを確認

heroku certs -a app-name
This is the legacy Heroku CLI. Please install the new CLI from https://cli.heroku.com
Name              Endpoint                     Common Name(s)                    Expires               Trusted  Type
────────────────  ───────────────────────────  ────────────────────────────────  ────────────────────  ───────  ────────
ibaraki-9999     ibaraki-9999.herokussl.com  app-name.net, www.app-name.net  2018-03-19 08:59 UTC  True     Endpoint
dryosaurus-9999  (Not applicable for SNI)     app-name.net, www.app-name.net  2018-03-19 08:59 UTC  True     SNI

nameオプションを指定して再度更新

途中でアプリ名を聞かれるため入力して更新を確定

heroku certs:update server.crt server.key -a app-name --name ibaraki-91678
This is the legacy Heroku CLI. Please install the new CLI from https://cli.heroku.com
Resolving trust chain... done
 ▸    Potentially Destructive Action
 ▸    This command will change the certificate of endpoint ibaraki-9999 (ibaraki-9999.herokussl.com) from ⬢ app-name.
 ▸    To proceed, type app-name or re-run this command with --confirm app-name

# ここでアプリ名を再度入力する
> app-name
Updating SSL certificate ibaraki-9999 (ibaraki-9999.herokussl.com) for ⬢ app-name... done
Updated certificate details:
Common Name(s): app-name.net
                www.app-name.net
Expires At:     2019-03-20 08:59 UTC
Issuer:         /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
Starts At:      2018-03-19 09:00 UTC
Subject:        /OU=Domain Control Validated/OU=EssentialSSL/CN=tsukulink.net
SSL certificate is verified by a root authority.

更新されたか確認

Expires At が更新されていることを確認して完了です。

heroku certs:info -a app-name --name ibaraki-9999
This is the legacy Heroku CLI. Please install the new CLI from https://cli.heroku.com
Fetching SSL certificate ibaraki-9999 info for ⬢ app-name... done
Certificate details:
Common Name(s): app-name.net
                www.app-name.net
Expires At:     2019-03-20 08:59 UTC
Issuer:         /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
Starts At:      2018-03-19 09:00 UTC
Subject:        /OU=Domain Control Validated/OU=EssentialSSL/CN=tsukulink.net
SSL certificate is verified by a root authority.

無事SSLの更新が終わりました。
Herokuさんには、もう少しだけエラー文を分かりやすくしてほしいです…

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です