macOS 上の HAProxy
Certbot を使用するには、以下が必要です...
コマンドラインとは、テキストベースのコマンドを入力してコンピューターと対話し、テキストベースの応答を受け取る方法です。 Certbot は、通常は Unix 系サーバーのコマンドラインインターフェイスから実行されます。 Certbot をほとんどの目的で使用するには、通常は SSH 経由でアクセスする Web サーバーのコマンドラインに Certbot をインストールして実行できる必要があります。
コマンドラインとは、テキストベースのコマンドを入力してコンピューターと対話し、テキストベースの応答を受け取る方法です...
HTTP(Hypertext Transfer Protocol)は、Web ブラウザが Web サーバーから Web ページやその他のオンラインリソースのコンテンツをリクエストするための従来の、しかし安全ではない方法です。これはインターネット標準であり、通常は TCP ポート 80 で使用されます。世界のほぼすべての Web サイトは HTTP をサポートしていますが、Certbot またはその他の HTTPS 設定方法で設定された Web サイトは、ユーザーをサイトの HTTP バージョンから HTTPS バージョンに自動的にリダイレクトする場合があります。
HTTP(Hypertext Transfer Protocol)は、Web ブラウザが 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 で動作するように切り替えるために使用されます(その後、必要に応じてサイトの 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 を使用するには、既存のサイトは必要ありませんが、インターネットサービスプロバイダーまたは Web ホスティングプロバイダーによって実行されているファイアウォールを含め、サーバーのポート 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 を使用するには、既存のサイトは必要ありませんが、インターネットサービスプロバイダーまたは Web ホスティングプロバイダーによって実行されているファイアウォールを含め、サーバーのポート 80 への接続がファイアウォールによってブロックされていないことを確認する必要があります。不明な場合は、ISP またはホスティングプロバイダーにお問い合わせください。(DNS 検証では、Let's Encrypt がサーバーへのインバウンド接続を確立する必要がないため、特にこの方法では、既存の HTTP ウェブサイトやポート 80 で接続を受信できる必要はありません。)
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されているサーバーの使用料をホスティングプロバイダーに支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を担っています。
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです…。
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されているサーバーの使用料をホスティングプロバイダーに支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を担っています。
上でホストされており、
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、そのサーバーのコマンドラインにアクセスするための技術であり、多くの場合、サーバーを管理するために使用されます。サーバーの管理者は、他の人にSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unix系のオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために自分のコンピューターでUnixを実行している必要はありません。通常、SSHは、端末でコンピューターのコマンドラインから、ssh username@example.comなどのコマンドを入力して使用します。これは、自分のコンピューターでLinuxまたはmacOSを実行している場合に特に当てはまります。ログインすると、サーバーのコマンドラインにアクセスできます。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバーのコマンドプロンプトからCertbotを実行します。
SSH(「セキュアシェル」の略)とは、リモートサーバーに接続してアクセスするための技術です…。
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、そのサーバーのコマンドラインにアクセスするための技術であり、多くの場合、サーバーを管理するために使用されます。サーバーの管理者は、他の人にSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unix系のオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために自分のコンピューターでUnixを実行している必要はありません。通常、SSHは、端末でコンピューターのコマンドラインから、ssh username@example.comなどのコマンドを入力して使用します。これは、自分のコンピューターでLinuxまたはmacOSを実行している場合に特に当てはまります。ログインすると、サーバーのコマンドラインにアクセスできます。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバーのコマンドプロンプトからCertbotを実行します。
経由でアクセスできます。また、
sudoは、Unix系のオペレーティングシステムで特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、Certbotコマンドの前にsudoを付けてrootとして実行する必要がある場合があります(たとえば、certbotではなくsudo certbot)。これは、ApacheやNginxなどのWebサーバーとCertbotの統合を使用している場合に特に当てはまります。(certbot-autoスクリプトは、必要な場合に自動的にsudoを実行します。指定しなかった場合)。
sudoとは、Unix系のオペレーティングシステムで特定のコマンドをrootとして実行するための最も一般的なコマンドです…。
sudoは、Unix系のオペレーティングシステムで特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、Certbotコマンドの前にsudoを付けてrootとして実行する必要がある場合があります(たとえば、certbotではなくsudo certbot)。これは、ApacheやNginxなどのWebサーバーと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つ以上の名前を含む証明書です。ブラウザは…
ワイルドカード証明書とは、*.
で始まる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がローカルマシンで実行されるため、Certbotにコピーを提供してDNS検証を自動的に実行させることは問題ありません。
DNS認証情報とは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類のシークレット(APIキーなど)です…。
DNS認証情報とは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類のシークレット(APIキーなど)です。通常、ドメインレジストラ(またはDNSプロバイダーがレジストラと同じでない場合は別のDNSプロバイダー)によって発行されます。DNS認証情報は、サイトを完全に乗っ取ることができるため、機密性の高い種類のシークレットです。これらの認証情報を公に、または権限のない人と共有しないでください。Certbotがローカルマシンで実行されるため、Certbotにコピーを提供してDNS検証を自動的に実行させることは問題ありません。
これらの要件を満たしていませんか?
ご心配なく!一部のホスティングプロバイダーは、HTTPSプロセスを自動化しています。ホスティングプロバイダーの完全なリストをご覧ください、またはシステムのセットアップ方法の詳細をご覧ください。
- サーバーにSSH接続する
HTTP Webサイトを実行しているサーバーに、sudo権限を持つユーザーとしてSSH接続します。
- Homebrewのインストール
Homebrewをインストールする必要があります。
Homebrewをインストールするには、Homebrewのサイトにある手順に従ってください。
- Certbotのインストール
Certbotをインストールするには、マシン上のコマンドラインで次のコマンドを実行します。
brew install certbot
- Certbotの実行方法を選択してください
一時的にウェブサイトを停止してもよろしいですか?
はい、私のWebサーバーは現在このマシンで実行されていません。
Webサーバーを停止してから、次のコマンドを実行して証明書を取得します。 Certbotは一時的にマシン上でWebサーバーを起動します。
sudo certbot certonly --standalone
いいえ、Webサーバーを実行し続ける必要があります。
既にポート80を使用しているWebサーバーがあり、Certbotの実行中に停止したくない場合は、次のコマンドを実行し、ターミナルの指示に従ってください。
sudo certbot certonly --webroot
- 証明書のインストール
新しい証明書をWebサーバーの設定ファイルにインストールする必要があります。
- 自動更新の設定
次の行を実行することをお勧めします。これは、デフォルトの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バーのロックアイコンを探します。 - HAProxy固有の情報が必要ですか?
HAProxyを使用した証明書のインストールは複雑です。 これらのガイドで詳細な情報を見つけることができます
または、Greenhostの試験的なサードパーティHAProxyプラグインの使用に興味があるかもしれません。
- DNSプロバイダーがサポートされているかどうかを確認する
ドキュメントのこのリストを確認して、DNSプロバイダーがCertbotでサポートされているかどうかを確認してください。
サポートされていませんか?
DNSプロバイダーがサポートされていない場合は、ここで一時停止します。ドキュメントの手順を使用して、手動プラグインでCertbotを実行します。
サポートされていますか?
DNSプロバイダーがサポートされている場合は、以下の残りの手順を続行してください。
- サーバーにSSH接続する
HTTP Webサイトを実行しているサーバーに、sudo権限を持つユーザーとしてSSH接続します。
- Homebrewのインストール
Homebrewをインストールする必要があります。
Homebrewをインストールするには、Homebrewのサイトにある手順に従ってください。
- Certbotのインストール
Certbotをインストールするには、マシン上のコマンドラインで次のコマンドを実行します。
brew install certbot
- 正しいDNSプラグインをインストールする
<PLUGIN>をDNSプロバイダーの名前に置き換えて、次のコマンドを実行します。
brew install -<PLUGIN>
たとえば、DNSプロバイダーがCloudflareの場合、次のコマンドを実行します
brew install -cloudflare
- 証明書を取得する
DNSプロバイダーの指示の「例」セクションにあるコマンドのいずれかを実行します。
- 証明書のインストール
新しい証明書をWebサーバーの設定ファイルにインストールする必要があります。
- 自動更新の設定
次の行を実行することをお勧めします。これは、デフォルトの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バーのロックアイコンを探します。 - HAProxy固有の情報が必要ですか?
HAProxyを使用した証明書のインストールは複雑です。 これらのガイドで詳細な情報を見つけることができます
または、Greenhostの試験的なサードパーティHAProxyプラグインの使用に興味があるかもしれません。