古いバージョンが機能しなくなったため、これを更新しました。2つのサイトでテストしたので、問題ないはずです。
編集:修正しました。以下の内容は無視してください。ただし、将来の参考のために残しておきます。修正内容は一番下にあります。
このスレッドを見つけました。私のサイトは forums.mysite.me です。NGINXの設定で3つのドメインを使用しており、DNS CNAMEでプロバイダーから提供されているものが安全でないと返されます。
mysite.me
www.mysite.me
forum.mysite.me (誰かがURLを間違えたり推測したりした場合の「s」なし)
元の投稿にあるベースドメインを構成で使用しますか?それとも3つすべてでどのように設定しますか?
after_ssl:
# letsencryptに取得する追加の証明書を指示します
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d forums.mysite.me --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d forums.mysite.me --fullchainpath"
最初の「replace」セクションには from: /--keylength/ があり、その下のセクションには from: /--fullchainpath/ があるため、混乱しています。リストした3つのURLそれぞれに、そのようなエントリを2つ作成しますか?それとも、こうなりますか?
after_ssl:
# letsencryptに取得する追加の証明書を指示します
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d mysite.me -d www.mysite.me -d forum.mysite.me --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d mysite.me -d www.mysite.me -d forum.mysite.me --fullchainpath"
^ はい、上記のボックスが複数のサイト/LetsEncryptの修正でした。とても興奮しています。
はい。ファイルには2つの異なる置換があり、それぞれにホスト名を更新する必要があります。
投稿の上部にある投稿は、説明どおりに名前を入力したときに、それを提供しなかったのでしょうか?
OPを編集して、混乱しないようにするにはどうすればよいでしょうか?
個人的には、入力ボックスの上に移動して、入力しながら見えるようにすることをお勧めします。
投稿ではそうでしたが、理解できませんでした。
引用した「複数のドメインを追加する必要がある場合」のセクションでは、なぜそれが回答されないのですか?
OK. これについてはどうですか?
コードをコピーした後、次のように続きます。
これで意味が通じますか?
上記のように、複数のサイトを実際にコードに含めるのが最も簡単だと思います。
after_ssl:
# letsencrypt に追加の証明書を取得するように指示する
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d mysite.me -d www.mysite.me --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d mysite.me -d www.mysite.me --fullchainpath"
ほとんどの人は追加のドメインを1つだけ追加したいと思うので、私の方法はより簡単で、編集なしで必要なテキストを正確に入手できる簡単な方法を提供します。
サイトが discourse.y.com で、discourse.y.com と y.com の証明書が必要な場合、domain2 フィールドに y.com を入力してコピーアイコンをクリックするだけでよいことは、まだ明確でしょうか?
あなたの例では、Discourse が mysite.com に設定されている場合、例の -d mysite.me の部分は不要です(または、サイトが www.mysite.me の場合、-d mysite.me の部分のみが必要です)。
このコードはどのファイルに追加されていますか?
コードは app.yml ファイルの hooks セクションの、ほぼ末尾に追加する必要があります。
18件の投稿が新しいトピックに分割されました:Let’s Encrypte with multiple domains wasn’t working for ECC certs
この新しいコードスニペットだけで十分ですか、それとも他の2つのコードスニペットの置き換えも必要ですか?
追加して再コンパイルしましたが、リダイレクトしたいhttpsドメインの1つにアクセスすると、SSLプライバシーエラーが引き続き表示されます。
証明書を見ると、共通名はforum.domain.comであり、OとOUは証明書の一部ではありません。
https://domain.comとhttps://www.domain.comをhttps://forum.domain.comにリダイレクトしようとしています。
http://domain.comとhttp://www.domain.comを使用すると、https://forum.domain.comに正しくリダイレクトされます。
何を挿入しましたか? after_ssl のスタンザはどのようになっていますか?
Looks like this (Changed the actual domain name)
after_ssl:
- replace:
filename: /etc/runit/1.d/letsencrypt
from: /-d forum.mydomain.com /
to: -d forum.mydomain.com -d www.mydomain.com -d mydomain.com
global: true
I also added this
LETSENCRYPT_ALTERNATE_NAMES: mydomain.com,www.mydomain.com
Browser error is
net::ERR_CERT_COMMON_NAME_INVALID
名前はすべて解決しますか?Cloudflareが前に置かれていませんか?レート制限に達しましたか?コンテナの中を見て、/etc/runit/1.d/letsencryptを実行して、何が起こるか確認できます
すべての名前が解決され、Cloudflare はなく、ヒット率は問題ないはずです。
以下は letsencrypt を実行した結果です。
(ドメイン名は置き換えられています)
/var/www/discourse# /etc/runit/1.d/letsencrypt
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[Tue Apr 29 04:02:13 PM UTC 2025] Unknown parameter : 4096
[Tue Apr 29 04:02:13 PM UTC 2025] Installing key to: /shared/ssl/forum.domain.com.key
[Tue Apr 29 04:02:13 PM UTC 2025] Installing full chain to: /shared/ssl/forum.domain.com.cer
[Tue Apr 29 04:02:13 PM UTC 2025] Run reload cmd: sv reload nginx
ok: run: nginx: (pid 429) 10662s
[Tue Apr 29 04:02:13 PM UTC 2025] Reload success
[Tue Apr 29 04:02:13 PM UTC 2025] Unknown parameter : ec-256
[Tue Apr 29 04:02:14 PM UTC 2025] Installing key to: /shared/ssl/forum.domain.com_ecc.key
[Tue Apr 29 04:02:14 PM UTC 2025] Installing full chain to: /shared/ssl/forum.domain.com_ecc.cer
[Tue Apr 29 04:02:14 PM UTC 2025] Run reload cmd: sv reload nginx
ok: run: nginx: (pid 429) 10663s
[Tue Apr 29 04:02:14 PM UTC 2025] Reload success
ファイルの中を確認しました。面白いものがあります。
issue_cert() {
LE_WORKING_DIR="${LETSENCRYPT_DIR}" /shared/letsencrypt/acme.sh --issue $2 -d forum.domain.com -d www.domain.com -d domain.com--keylength $1 -w /var/www/discourse/public
}
最後のドメインと --keylength の間にスペースが足りないようですが?
domain.com--keylength
問題が解決しました。ご協力ありがとうございました。
修正は、to: フィールドにも / を追加することになるのでしょうか?
after_ssl:
- replace:
filename: /etc/runit/1.d/letsencrypt
from: /-d forum.domain.com /
to: "-d forum.domain.com -d www.domain.com "
global: true
引用符であるべきで、スラッシュではありません。投稿とOPを編集しました。現在お持ちのもので動作するはずです。