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