FacebookログインがFacebookによって非準拠とフラグ付けされました Let's Encrypt証明書システムへの変更後

2021 年 9 月 30 日頃(私の確認できる限り)から、当サイトでは証明書エラーが発生しています。

接続がプライベートではありません
NET::ERR_CERT_COMMON_NAME_INVALID というセキュリティ警告。

このサーバーは、www.nzarchitecture.net.nz であることを証明できませんでした。そのセキュリティ証明書は nzarchitecture.net.nz のものです。これは設定ミスか、攻撃者が接続を傍受している可能性があります。

この問題は、その日付に導入された Let’s Encrypt の変更に関連している可能性があります。
問題は、https://www.nzarchitecture.net.nz という URL を使用した場合に発生しますが、https://nzarchitecture.net.nz を使用した場合は発生しません。

この問題は、2.8.0 ベータ 7 への更新と完全な再構築を行っても解消されていません。

ランディングページにエラーメッセージが表示されることによる結果として、当サイトは Facebook の要件を満たさなくなったとしてフラグ付けされ、Facebook ログインが Facebook 側で無効化されています。

「いいね!」 1

これはFacebook側が修正すべき問題です。

証明書は100%正当なものです。

「いいね!」 1

それは…と似ているように思われます。
https://meta.discourse.org/t/configuring-google-login-for-discourse/15858/239

「いいね!」 1

問題は、ブラウザに貼り付けまたは入力する URL に「www」を含めると、私自身もこれらのエラーを確認してしまうことです。実際のリスクはないにもかかわらず、ユーザーは Facebook のコンプライアンス問題の有無にかかわらず、不安を煽る警告を受け取ってしまいます。

一方、Facebook はエラーが解消されるまでこの件を見直すことを拒否しています。

設定ファイルの
/var/discourse/containers/app.yml
で、DISCOURSE_HOSTNAME: は何に設定されていますか?

「いいね!」 1

実際のサイトが非 www ドメインにある場合は、Facebook システムに非 www ドメインを登録する必要があります。両者を混在させることはできません。

「いいね!」 4

app.yml には以下が表示されます

DISCOURSE_HOSTNAME: nzarchitecture.net.nz

なるほど、それは理にかなっていると思います。ただ、DNS の観点から見れば、片方はもう片方のエイリアスだと思っていたのですが。特に、警告を確認するためにはログインが必要だとしたら、一般ユーザーに「www は使えない」と伝えるのは難しいでしょうね。

「いいね!」 1

厳密には「エイリアス」ではなく「リダイレクト」です。リダイレクトを正しく設定するには、リダイレクト先となる場所に有効な証明書が必要です。

例えば、パートナーである communiteq は、https://www.forcewww.com/ でそのためのサービスを提供しています。

「いいね!」 4

最近まで、これは問題になったことがありませんでした。Facebookからの警告も、wwwの有無に関わらず証明書に関する警告も出ていませんでした。

デフォルトの無料Let’s Encrypt証明書で、両方のオプションを証明することは可能でしょうか?追加の証明書の管理や追加コストで複雑にしたくありません。

現在、wwwを含むリンクが記載されたメールが多数存在します。

「リダイレクト先の場所」とは、この場合Digital Oceanを指しているのでしょうか?(私のホストであり、DNS設定もそこから管理しています)

app.yml に数行追加するだけで対応可能です。私が問題に直面した際に機能したのは以下の方法です:

「いいね!」 4

ありがとうございます、有望そうですね。

私の場合、ベースドメインが https://nzarchitecture.net であるなら、追加すべき正しい行は以下の通りでしょうか?

after_ssl:
- replace:
filename: “/etc/runit/1.d/letsencrypt”
from: /–keylength/
to: “-d www.nzarchitecture.net.nz --keylength”

また、これを反映させるには Discourse の再ビルドが必要ですか?

内容は正しいですが、yml ファイルではインデントが重要であるため、これを修正する必要があります:

  after_ssl:
    - replace:
        filename: "/etc/runit/1.d/letsencrypt"
        from: /--keylength/
        to: "-d www.nzarchitecture.net.nz --keylength"

変更が反映されるには、再構築が必要です。

編集: 実は --keylength の使用は -k に置き換えられたようですが、その場合は以下が必要です:
お詫び申し上げます。私の GitHub 検索で、気づかないうちに古いフォークに辿り着いていました。--keylength が正しいです。

「いいね!」 5

素晴らしい!@Simon_Manning さん、そして皆様、本当にありがとうございます。app.yml 経由のリダイレクトが完璧に機能しました。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.