OpenBSD 上の Nginx
Certbot を使用するには、次のものが必要です...
コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受け取る方法です。Certbot は、通常は Unix ライクなサーバー上のコマンドラインインターフェイスから実行されます。ほとんどの目的で Certbot を使用するには、ウェブサーバーのコマンドラインにインストールして実行できる必要があります。これは通常、SSH 経由でアクセスされます。
コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話し、応答を受信する方法です...
HTTP (Hypertext Transfer Protocol) は、Web ブラウザーが Web ページやその他のオンラインリソースのコンテンツを Web サーバーに要求するための従来の方法ですが、安全ではありません。これはインターネット標準であり、通常は TCP ポート 80 で使用されます。世界中のほぼすべての Web サイトが HTTP をサポートしていますが、Certbot またはその他の HTTPS 設定方法で設定された Web サイトは、サイトの HTTP バージョンから HTTPS バージョンにユーザーを自動的にリダイレクトする場合があります。
HTTP (Hypertext Transfer Protocol) は、Web ブラウザーが Web ページやその他のオンラインリソースを要求するための従来の方法ですが、安全ではありません...
HTTP (Hypertext Transfer Protocol) は、Web ブラウザーが Web ページやその他のオンラインリソースのコンテンツを Web サーバーに要求するための従来の方法ですが、安全ではありません。これはインターネット標準であり、通常は TCP ポート 80 で使用されます。世界中のほぼすべての Web サイトが HTTP をサポートしていますが、Certbot またはその他の HTTPS 設定方法で設定された Web サイトは、サイトの HTTP バージョンから HTTPS バージョンにユーザーを自動的にリダイレクトする場合があります。
つまり
Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替え(その後、必要に応じてサイトの HTTPS 証明書を更新し続ける)ために使用されることを想定しています。一部の Certbot ドキュメントでは、ポート 80 で HTTP を使用してアクセスできる、動作中の Web サイトがあることを前提または推奨しています。つまり、たとえば、Web ブラウザーを使用して http:// を使用してドメインにアクセスすると、Web サーバーが応答し、何らかのコンテンツが表示される必要があります(サイトの最終バージョンではなく、デフォルトのウェルカムページであっても)。Certbot の一部の使用方法ではこれが前提条件であるため、HTTP でサイトを既に設定している方がスムーズなエクスペリエンスになります。(ポリシー上、サイトにこの方法でアクセスできない場合は、Certbot で証明書を取得するために DNS 検証を使用する必要があるでしょう。)
Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替えるために使用されることを想定しています(その後...)
Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替え(その後、必要に応じてサイトの HTTPS 証明書を更新し続ける)ために使用されることを想定しています。一部の Certbot ドキュメントでは、ポート 80 で HTTP を使用してアクセスできる、動作中の Web サイトがあることを前提または推奨しています。つまり、たとえば、Web ブラウザーを使用して http:// を使用してドメインにアクセスすると、Web サーバーが応答し、何らかのコンテンツが表示される必要があります(サイトの最終バージョンではなく、デフォルトのウェルカムページであっても)。Certbot の一部の使用方法ではこれが前提条件であるため、HTTP でサイトを既に設定している方がスムーズなエクスペリエンスになります。(ポリシー上、サイトにこの方法でアクセスできない場合は、Certbot で証明書を取得するために DNS 検証を使用する必要があるでしょう。)
が開いている
さまざまなインターネットサービスは、異なる TCP ポート番号を使用して区別されます。暗号化されていない HTTP は通常 TCP ポート 80 を使用しますが、暗号化された HTTPS は通常 TCP ポート 443 を使用します。certbot --webroot、certbot --apache、または certbot --nginx を使用するには、Certbot を使用する予定のサーバーでホストされている、すでにオンラインになっている既存の HTTP ウェブサイトが必要です。このサイトは、ポート 80 でインターネットの他の場所から利用できる必要があります。certbot --standalone を使用する場合、既存のサイトは必要ありませんが、サーバーのポート 80 への接続がファイアウォールによってブロックされていないことを確認する必要があります。これには、インターネットサービスプロバイダーまたは Web ホスティングプロバイダーによって実行されている可能性のあるファイアウォールも含まれます。不明な場合は、ISP またはホスティングプロバイダーにご確認ください。(DNS 検証を使用する場合、Let's Encrypt がサーバーへのインバウンド接続を行う必要はないため、この方法では特に、既存の HTTP ウェブサイトやポート 80 での接続を受信する機能は必要ありません。)
さまざまなインターネットサービスは、異なる TCP ポート番号を使用して区別されます。暗号化されていない HTTP は通常...
さまざまなインターネットサービスは、異なる TCP ポート番号を使用して区別されます。暗号化されていない HTTP は通常 TCP ポート 80 を使用しますが、暗号化された HTTPS は通常 TCP ポート 443 を使用します。certbot --webroot、certbot --apache、または certbot --nginx を使用するには、Certbot を使用する予定のサーバーでホストされている、すでにオンラインになっている既存の HTTP ウェブサイトが必要です。このサイトは、ポート 80 でインターネットの他の場所から利用できる必要があります。certbot --standalone を使用する場合、既存のサイトは必要ありませんが、サーバーのポート 80 への接続がファイアウォールによってブロックされていないことを確認する必要があります。これには、インターネットサービスプロバイダーまたは Web ホスティングプロバイダーによって実行されている可能性のあるファイアウォールも含まれます。不明な場合は、ISP またはホスティングプロバイダーにご確認ください。(DNS 検証を使用する場合、Let's Encrypt がサーバーへのインバウンド接続を行う必要はないため、この方法では特に、既存の HTTP ウェブサイトやポート 80 での接続を受信する機能は必要ありません。)
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターのことです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されるサーバーの使用料をホスティングプロバイダーに支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。その他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を提供します。
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターのことです....
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターのことです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されるサーバーの使用料をホスティングプロバイダーに支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。その他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を提供します。
上でホストされており、
SSH(「セキュアシェル」の略)とは、リモートサーバーに接続し、そのサーバー上のコマンドラインにアクセスするためのテクノロジーであり、多くの場合、管理するために使用されます。サーバーの管理者は、他のユーザーにSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unixライクなオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために、自分のコンピューターがUnixを実行している必要はありません。通常、ターミナルのコマンドラインから `ssh username@example.com` のようなコマンドを入力してSSHを使用します。特に自分のコンピューターがLinuxまたはmacOSを実行している場合。ログインすると、サーバーのコマンドラインにアクセスできるようになります。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバーのコマンドプロンプトからCertbotを実行します。
SSH(「セキュアシェル」の略)とは、リモートサーバーに接続し、アクセスするためのテクノロジーです...
SSH(「セキュアシェル」の略)とは、リモートサーバーに接続し、そのサーバー上のコマンドラインにアクセスするためのテクノロジーであり、多くの場合、管理するために使用されます。サーバーの管理者は、他のユーザーにSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unixライクなオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために、自分のコンピューターがUnixを実行している必要はありません。通常、ターミナルのコマンドラインから `ssh username@example.com` のようなコマンドを入力してSSHを使用します。特に自分のコンピューターがLinuxまたはmacOSを実行している場合。ログインすると、サーバーのコマンドラインにアクセスできるようになります。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバーのコマンドプロンプトからCertbotを実行します。
経由でアクセスでき、
sudoは、Unixライクなオペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、特にApacheやNginxなどのWebサーバーとのCertbotの統合を使用している場合、Certbotコマンドをrootとして実行できるように、Certbotコマンドの前にsudoを付ける必要がある場合があります(たとえば、certbotの代わりにsudo certbot)。(certbot-autoスクリプトは、必要な場合にsudoを自動的に実行し、指定しなかった場合も実行します。)
Sudoは、Unixライクなオペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです(th...
sudoは、Unixライクなオペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、特にApacheやNginxなどのWebサーバーとのCertbotの統合を使用している場合、Certbotコマンドをrootとして実行できるように、Certbotコマンドの前にsudoを付ける必要がある場合があります(たとえば、certbotの代わりにsudo certbot)。(certbot-autoスクリプトは、必要な場合にsudoを自動的に実行し、指定しなかった場合も実行します。)
ワイルドカード証明書とは、*.
で始まる1つ以上の名前を含む証明書です。ブラウザは、アスタリスク(*
)の代わりに任意のラベルを受け入れます。たとえば、*.example.com
の証明書は、www.example.com
、mail.example.com
、hello.example.com
、およびgoodbye.example.com
で有効になります。
ただし、*.example.com
の名前のみを含むワイルドカード証明書は、example.com
では有効になりません。置換されたラベルは空にすることはできません。証明書をexample.com
で有効にする場合は、証明書にexample.com
(つまり、*.
部分なし)も含める必要があります。
さらに、アスタリスクは単一のラベルでのみ置換でき、複数のラベルでは置換できません。たとえば、hello.goodbye.example.com
という名前は、*.example.com
という名前のみを含む証明書ではカバーされません。ただし、*.goodbye.example.com
ではカバーされます。ワイルドカード名に複数のアスタリスクを含めることはできません。たとえば、*.*.example.com
は有効ではありません。
ワイルドカード証明書とは、*.
で始まる1つ以上の名前を含む証明書です。ブラウザは、w...
ワイルドカード証明書とは、*.
で始まる1つ以上の名前を含む証明書です。ブラウザは、アスタリスク(*
)の代わりに任意のラベルを受け入れます。たとえば、*.example.com
の証明書は、www.example.com
、mail.example.com
、hello.example.com
、およびgoodbye.example.com
で有効になります。
ただし、*.example.com
の名前のみを含むワイルドカード証明書は、example.com
では有効になりません。置換されたラベルは空にすることはできません。証明書をexample.com
で有効にする場合は、証明書にexample.com
(つまり、*.
部分なし)も含める必要があります。
さらに、アスタリスクは単一のラベルでのみ置換でき、複数のラベルでは置換できません。たとえば、hello.goodbye.example.com
という名前は、*.example.com
という名前のみを含む証明書ではカバーされません。ただし、*.goodbye.example.com
ではカバーされます。ワイルドカード名に複数のアスタリスクを含めることはできません。たとえば、*.*.example.com
は有効ではありません。
DNSクレデンシャルとは、DNSレコードの内容を変更するためにDNSプロバイダーで使用できるパスワードまたはその他の種類の秘密情報(APIキーなど)のことです。これらは通常、ドメインレジストラ(または、DNSプロバイダーがレジストラと同じではない場合は、別のDNSプロバイダー)によって発行されます。DNSクレデンシャルは、サイトを完全に乗っ取るために使用できるため、機密性の高い秘密情報です。これらのクレデンシャルを公開したり、許可されていない人に共有したりしないでください。CertbotがDNS検証を自動的に実行できるように、Certbotにコピーを提供することは問題ありません。これはローカルマシンで実行されるためです。
DNSクレデンシャルとは、DNSプロバイダーが使用できるパスワードまたはその他の種類の秘密情報(APIキーなど)のことです...
DNSクレデンシャルとは、DNSレコードの内容を変更するためにDNSプロバイダーで使用できるパスワードまたはその他の種類の秘密情報(APIキーなど)のことです。これらは通常、ドメインレジストラ(または、DNSプロバイダーがレジストラと同じではない場合は、別のDNSプロバイダー)によって発行されます。DNSクレデンシャルは、サイトを完全に乗っ取るために使用できるため、機密性の高い秘密情報です。これらのクレデンシャルを公開したり、許可されていない人に共有したりしないでください。CertbotがDNS検証を自動的に実行できるように、Certbotにコピーを提供することは問題ありません。これはローカルマシンで実行されるためです。
これらの要件を満たしていませんか?
ご心配なく!一部のホスティングプロバイダーでは、HTTPSプロセスを自動化しています。ホスティングプロバイダーの完全なリストを見る、またはシステムの設定方法の詳細を確認してください。
- サーバーにSSH接続する
sudo権限を持つユーザーとして、HTTPウェブサイトを実行しているサーバーにSSH接続します。
- Certbotをインストールする
Certbotをインストールするには、マシンのコマンドラインでこのコマンドを実行します。
pkg_add certbot
- Certbotの実行方法を選択する
ウェブサイトを一時的に停止してもよろしいですか?
はい、このマシンでは現在ウェブサーバーは実行されていません。
ウェブサーバーを停止してから、このコマンドを実行して証明書を取得します。Certbotは、マシン上で一時的にウェブサーバーを起動します。
sudo certbot certonly --standalone
いいえ、ウェブサーバーを稼働させておく必要があります。
すでにポート80を使用しているウェブサーバーがあり、Certbotの実行中に停止したくない場合は、このコマンドを実行し、ターミナルの指示に従ってください。
sudo certbot certonly --webroot
- 証明書をインストールする
ウェブサーバーの設定ファイルに新しい証明書をインストールする必要があります。
- 自動更新を設定する
以下の行を実行することをお勧めします。これは、デフォルトのcrontabにcronジョブを追加します。
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
- Certbotが機能したことを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URLバーに鍵のアイコンがあるか確認してください。
- サーバーにSSH接続する
sudo権限を持つユーザーとして、HTTPウェブサイトを実行しているサーバーにSSH接続します。
- Certbotをインストールする
Certbotをインストールするには、マシンのコマンドラインでこのコマンドを実行します。
pkg_add certbot
- 正しいDNSプラグインをインストールしてください
次のコマンドを実行し、<PLUGIN> をDNSプロバイダーの名前に置き換えてください。
pkg_add -<PLUGIN>
たとえば、DNSプロバイダーがCloudflareの場合は、次のコマンドを実行します。
pkg_add -cloudflare
- 証明書を取得してください
DNSプロバイダーの手順の「例」セクションにあるコマンドのいずれかを実行します。
- 証明書をインストールする
ウェブサーバーの設定ファイルに新しい証明書をインストールする必要があります。
- 自動更新を設定する
以下の行を実行することをお勧めします。これは、デフォルトのcrontabにcronジョブを追加します。
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
- Certbotが機能したことを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URLバーに鍵のアイコンがあるか確認してください。