app.ymlでcerbotを設定しますか?

こんにちは。

私のサイトではCloudflareを使用しており、問題なく動作していますが、HTTPSチェッカーで以下のエラーが表示されます。

https 443: Error: A call to SSPI failed, see inner exception.

CloudflareのSSLを無効にして、代わりにCertbotを使用したいと考えていますが、以下のようにCertbotモジュールをCloudflareと共にインストールする必要があります。

certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  -d example.com \
  -d www.example.com

これらのCertbotコマンドは、Discourseのテンプレートのどこに、またはapp.ymlファイルに配置できますか?

また、Cloudflareアクセスのためのファイルも必要で、chmod 600にする必要があります。

~/.secrets/certbot/cloudflare.ini

これをどのように達成できるか、アドバイスをお願いします。

よろしくお願いします!

「いいね!」 1

Discourse はどのようにインストールしましたか? 標準的なインストールを行うと、デフォルトで Let’s Encrypt から証明書が発行されます。しかし、Cloudflare が前面にある場合は機能しません。

Let’s Encrypt のテンプレートを見て、提案されたことを行うように変更できるかもしれません。

「いいね!」 1

ジェイ様

はい、その通りです。この件に取り組んでいますが、残念ながらこの問題を解決するためのプログラミングやbashスクリプトの経験があまりありません。しかし、Let’s Encrypt を使用した certbot のモジュールが見つかりませんでした。この行にコードを追加できるかもしれません。

          # Try to issue the cert again if something goes wrong
          issue_cert "4096" "--force"
        fi

        LE_WORKING_DIR="${LETSENCRYPT_DIR}" $$ENV_LETSENCRYPT_DIR/acme.sh \
          --installcert \
          -d $$ENV_DISCOURSE_HOSTNAME \
          --fullchainpath /shared/ssl/$$ENV_DISCOURSE_HOSTNAME.cer \
          --keypath /shared/ssl/$$ENV_DISCOURSE_HOSTNAME.key \
          --reloadcmd "sv reload nginx"

以下と合わせて


certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  -d example.com \
  -d www.example.com

コーディング経験のある方が、このコードを Let’s Encrypt 証明書に含めるのを手伝ってくれることを願っています。

「いいね!」 1

Discourse で certbot を使用する理由はありません。標準のインストール ガイドでは、Let’s Encrypt 証明書が自動的にプロビジョニングされます。

「いいね!」 2

CloudflareとLet’s Encrypt SSLを互換性のあるものにするためです。

「いいね!」 1