gpetrov
(George Petrov)
1
確かに、IPv6 の問題と Let’s Encrypt の件は非常に不明確でした。
Discourse を再構築すると、すべて正常に動作し、新しい証明書が発行されました。
しかし、自動的な Let’s Encrypt の更新は機能しませんでした。サイトが実行中の IPv6 経由で到達できず、Let’s Encrypt が .well-known フォルダを検証する際にタイムアウトが発生しました。
また、Docker ホストの設定も確認しましたが、IPv4 の場合のように Docker 内部ネットワークへの ip6tables の転送設定が欠落していました。ip6tables 自体はすべて許可されていたのですが…
Docker ホストの設定で IPv6 を有効化し、デーモンを再起動しましたが、これも解決しませんでした。
@jomaxro
jomaxro
(Joshua Rosenfeld)
2
ジョージ、ありがとう。最初の質問ですが、discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub に従ったことを確認できますか?
当社の Digital Ocean の「セルフホスト型」テストサイトの 1 つ(IPv6 が有効なサイト)を確認したところ、SSL 証明書に問題なく更新されたことを確認できました。
gpetrov
(George Petrov)
3
はい、私たちが従った手順はそれです。まず手動で Docker をインストールし、その後 discourse-setup を実行しました。
それは2年半ほど前のことです。当初は問題なく動作していましたが、1年後に IPv6 の AAAA レコードを追加したところ、自動更新が機能しなくなり、新しい SSL 証明書を取得するために毎回 discourse rebuild を実行する必要がありました。
jomaxro
(Joshua Rosenfeld)
4
自動更新が失敗した時刻のログはありますか?非常に参考になります。
また、公式ガイドから何か変更を加えましたか?追加のリバースプロキシの導入?app.yml の手動編集?ホストシステムのファイアウォール設定?などです。
あなたが疑われているように聞こえないようにしたいのですが、IPv6 を使用している数千件のセルフホストインストールが既に存在していることを考えると、IPv6 サイトで SSL 証明書の更新が失敗しているなら、多くの報告が寄せられるはずです。
gpetrov
(George Petrov)
5
私のアップデートでエラーが発生しました
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })
修正にご協力ください。
Falco
(Falco)
9
これは通常、AAAA DNSエントリに問題があったことを意味します。
おそらく、実際にはそのケースだったのでしょう。
私たちはDO上で複数のサイトをIPv6 + Let’s Encryptで問題なくホストしていますので、これはユーザー側の誤操作と思われます。再現手順を特定できる場合は、新しいトピックを開いてください。