私は単にtest.example.com
にすでに存在する証明書にドメインexample.com
を追加しようとしているだけです。既存の証明書にドメインを追加して古い証明書を置き換える方法を教えてください。
私はこれらのいくつかのコマンドを試してみました
./letsencrypt-auto certonly --cert-path /etc/letsencrypt/archive/example.com --expand -d test.example.com
./letsencrypt-auto certonly -d example.com --expand -d test.example.com
結果:両方とも新しいフォルダーtest.example.com-0001に真新しい証明書を作成しました
./letsencrypt-auto certonly --renew-by-default --expand -d test.example.com
結果:エラーフォルダtest.example.comはすでに存在します。
./letsencrypt-auto renew --expand -d orange.fidka.com
結果:エラー、証明書が期限切れになった場合にのみ更新できます。
すでに登録されているものも含めて、すべての名前を指定する必要があります。
私はもともと次のコマンドを使用して証明書を登録しました。
/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--email [email protected] \
--expand -d example.com,www.example.com
...そして今、次のコマンドを使用して、新しいサブドメインをSANとして含めるように登録を拡張しました。
/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--expand -d example.com,www.example.com,click.example.com
"--expand"既存の証明書が要求された名前の一部をカバーしている場合は、必ず展開して追加の名前に置き換えてください。
Nginxを実行している場合は、新しい証明書をロードするためにサーバーを再起動することを忘れないでください。
これは私が私のドメインを登録した方法です:
Sudo letsencrypt --Apache -d mydomain.com
その後、追加のドメインで同じコマンドを使用して指示に従うことが可能でした。
Sudo letsencrypt --Apache -d mydomain.com,x.mydomain.com,y.mydomain.com
Ubuntu上のApache、Apacheプラグインを使用:
Sudo certbot certonly --cert-name example.com -d m.example.com,www.m.example.com
上記のコマンドは証明書のドメイン名の変更に関する Certbotユーザーガイド で説明されています。証明書のドメイン名を変更するためのコマンドは、新しいドメイン名の追加にも適用されます。
編集
上記のコマンドを実行するとエラーメッセージが表示される
現在選択されているオーセンティケーターを持つクライアントは、CAを満たすようなチャレンジの組み合わせをサポートしません。
let's Encryptコミュニティからの指示 に従ってください
./certbot-auto certonly
を指定してcertbotをもう一度実行するだけで証明書を置き換えることができます。
既存の証明書ですでにカバーされているドメインの証明書を生成しようとすると、このメッセージが表示されます。
-------------------------------------------------------------------------------
You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/<domain>.conf)
It contains these names: <domain>
You requested these names for the new certificate: <domain>,
<the domain you want to add to the cert>.
Do you want to expand and replace this existing certificate with the new
certificate?
-------------------------------------------------------------------------------
Expand
を選んで置き換えてください。
--cert-name
を--expand
オプションと組み合わせて使用することで、ドメインおよび複数のサブドメイン用に認証されたSSLをセットアップすることができました。
https://certbot.eff.org/docs/using.html で、certbot-autoの公式ドキュメントを参照してください。
例:
certbot-auto certonly --cert-name mydomain.com.br \
--renew-by-default -a webroot -n --expand \
--webroot-path=/usr/share/nginx/html \
-d mydomain.com.br \
-d www.mydomain.com.br \
-d aaa1.com.br \
-d aaa2.com.br \
-d aaa3.com.br
これは私のために働いた
Sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
domain.com -d www.domain.com