Apacheに Let's Encrypt から Certbot でSSL証明書をインストールしましたLet's Encrypt自身のドキュメントからこのチュートリアルに従ったDebian 8のサーバー: https://certbot.eff.org/#debianjessie-Apache
$ certbot --Apache
証明書をインストールするドメインを指定する必要がありますが、私はexample.com
ドメインのみを追加しました。 www.example.com
を追加したいのですが、その方法がわかりません。
UPDATE:これを行うには、--expand
フラグ( docs を参照):
--expand
は、すべての古いドメインと1つ以上の追加の新しいドメインを含む新しい証明書で既存の証明書を更新するようにCertbotに指示します。
例については this answer を参照してください。
簡単に言うと、できません。
初期構成時に指定するドメインは、Let's Encryptによって署名される最終的な証明書の不可欠な部分になります。追加のドメインまたはサブドメインを追加することで遡及的に変更することはできません。これにより、その有効性が損なわれるためです。
解決策:ゼロから始める! (certbotではそれほど重要ではありません)
既存の回答は正しいですが、特に件名の official certbot docs を読んだ後は、誰もが何が起こっているのかがはっきりしていません(わかりませんでした)。
まず、既存のものを明確にするために、既存の証明書を一覧表示します。
Sudo certbot certificates
各証明書には「名前」が付いています。 example.com
という名前の証明書があり、ドメインexample.com
の証明書もあるとします。 certonly
オプションを使用して証明書を更新し、--cert-name
オプションを使用して更新する証明書を正確に指定できます。 既存のドメインと、新しいドメインを含めることを忘れないでください追加しています
Sudo certbot certonly --cert-name example.com -d example.com,www.example.com
Certbotが正しい証明書を見つけるのを信頼している場合(Googleが検索に使用していた[私は幸運を感じています]ボタンに似ています)、--cert-name
をスキップして--expand
を代わりに使用できるようです。このようにcertbotは、指定したドメインのサブセット(適切なサブセット-ドキュメントでは「厳密なサブセット」と呼ばれます)がある証明書を選択することで、参照している証明書を見つけます。
Sudo certbot certonly --expand -d example.com,www.example.com
これらすべてにおいて、--webroot
が必要かどうかは、特定の構成によって異なります。
次のコマンドを使用します:certbot modifier --expand
、次のように:
Sudo certbot-auto certonly --webroot -w /srv/www/htmlroot/ --expand -d domain1.com -d domain2.com -d www.domain1.com