web-dev-qa-db-ja.com

Certbotはwwwドメインを既存のドメイン証明書に追加します

Apacheに Let's Encrypt から Certbot でSSL証明書をインストールしましたLet's Encrypt自身のドキュメントからこのチュートリアルに従ったDebian 8のサーバー: https://certbot.eff.org/#debianjessie-Apache

$ certbot --Apache

証明書をインストールするドメインを指定する必要がありますが、私はexample.comドメインのみを追加しました。 www.example.comを追加したいのですが、その方法がわかりません。

5
Robbert

UPDATE:これを行うには、--expandフラグ( docs を参照):

--expandは、すべての古いドメインと1つ以上の追加の新しいドメインを含む新しい証明書で既存の証明書を更新するようにCertbotに指示します。

例については this answer を参照してください。


簡単に言うと、できません。

初期構成時に指定するドメインは、Let's Encryptによって署名される最終的な証明書の不可欠な部分になります。追加のドメインまたはサブドメインを追加することで遡及的に変更することはできません。これにより、その有効性が損なわれるためです。

解決策:ゼロから始める! (certbotではそれほど重要ではありません)

5
toxefa

既存の回答は正しいですが、特に件名の 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が必要かどうかは、特定の構成によって異なります。

4
Garret Wilson

次のコマンドを使用します:certbot modifier --expand、次のように:

Sudo certbot-auto certonly --webroot -w /srv/www/htmlroot/ --expand -d domain1.com -d domain2.com -d www.domain1.com
3
Mudy S