新しいサーバーでDiscourseバックアップを復旧した後、ログインできません

こんにちは、

新しい VM に Discourse のバックアップを復元しました。
復元自体は正常に動作しているようです。正しい起動 GUI が表示されています。

ログインを試みると、不明なエラーが発生します。

Processing by UsersController#create as */*
  Parameters: {"name"=>"Istvan XXXXXXX", "email"=>"istvan.XXXXXXXX@mailbox.org", "password"=>"[FILTERED]", "username"
=>"Istvan", "password_confirmation"=>"[FILTERED]", "challenge"=>"6662a14f4549a786ed0f37XXXXXX", "timezone"=>"Eur
ope/Berlin"}
Filter chain halted as :respond_to_suspicious_request rendered or redirected
Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 1007)
Started POST "/login" for 172.17.0.1 at 2021-10-13 13:37:31 +0000
Processing by StaticController#enter as HTML
  Parameters: {"username"=>"Istvan", "password"=>"[FILTERED]", "redirect"=>"/u/account-created"}
Redirected to http://discourse.XXXXXXXXX/u/account-created
Completed 302 Found in 2ms (ActiveRecord: 0.0ms | Allocations: 512)
Started GET "/u/account-created" for 172.17.0.1 at 2021-10-13 13:37:31 +0000
Processing by UsersController#account_created as HTML
  Rendered default/empty.html.erb within layouts/application (Duration: 0.1ms | Allocations: 11)
  Rendered layout layouts/application.html.erb (Duration: 60.6ms | Allocations: 36879)
Completed 200 OK in 81ms (Views: 62.1ms | ActiveRecord: 0.0ms | Allocations: 39906)
Started GET "/session/csrf" for 172.17.0.1 at 2021-10-13 13:37:48 +0000
Processing by SessionController#csrf as JSON
Completed 200 OK in 4ms (Views: 2.0ms | Allocations: 602)
Started POST "/session" for 172.17.0.1 at 2021-10-13 13:37:48 +0000
Processing by SessionController#create as */*
  Parameters: {"login"=>"Istvan", "password"=>"[FILTERED]", "second_factor_method"=>"1", "timezone"=>"Europe/Berlin"
}
Can't verify CSRF token authenticity.
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Filter chain halted as :verify_authenticity_token rendered or redirected
Completed 403 Forbidden in 5ms (Views: 0.7ms | Allocations: 897)

この問題を解決する方法について、何かご存知でしょうか?

よろしくお願いいたします。

I.

パスワードをリセットしてみてください

試してみましたが、動作しません…

古いインストール環境でメールメッセージが無効化されていると思います(バックアップを復元しました)。

I.

コンソールで force_https が有効になっているか確認してください。

SiteSetting.force_https

false の場合は、true に設定してください。

SiteSetting.force_https = true

Docker コンテナ内ですか、それとも VM の bash 内ですか?

Docker 内での作業です。VM 内で以下の手順を実行してください。

cd /var/discourse/
./launcher enter app
rails c

ありがとうございます。ただし、すでに「true」でした:

image

おそらく false に設定する必要があります(証明書を持っていないため)か、正しいドメインを使用する必要があります(まだ「CNAMEd」されていません)。

YAML ファイルでは HTTPS が有効になっていません。

なぜダメなんでしょうか?Let’s Encrypt なら無料で取得できます。

もしホスト名なしの IP アドレスを使おうとしているなら、それが問題です。ホスト名を使用する必要があります。

https を使用していない場合は、実際に false に設定する必要があります。

「本番」システムのドメインは「https://deinbalkonnetz.de」(discourse. にホスト)です。このシステムを、まだ「discourse.itas-karlsruhe.de」というドメインを保持している内部 VM へ移行しました。このドメイン(HTTPS 未対応)は、現在も app.yml で使用されています。

Discourse を移行する正しい手順はどれでしょうか?

#1. 本番ドメインを VM へ転送する?
#2. app.yml を最終ドメインに変更し、同時に Let’s Encrypt を有効化する?

ご確認をお願いします。

ありがとうございます。
I.

discourse.org のホスティングから移行する場合は、アップロードがバックアップに含まれるよう、まずサブスクリプションをキャンセルしてください。そうしないと、バックアップは単に彼らの S3/CDN 上のアップロードを指すことになります。

テストは、パブリック IP アドレスを持つサーバー、または少なくとも有効な HTTPS 証明書を持つサーバー(プライベート IP では設定が難しい)で行うことをお勧めします。

移行の準備ができたら、サーバーの DNS を変更し、Let’s Encrypt 証明書を取得するために再構築を行う必要があります。DNS の伝播が終わるまで、しばらくは不安定な状態が続くことになります。

わかりました。ありがとうございます。

discourse.org のホスティングから離れる場合は、まずサブスクリプションをキャンセルしてください。そうしないと、アップロードがバックアップに含まれません。そうしなければ、バックアップは単に彼らの S3/CDN 上のアップロードを指すことになります。

新しいバックアップをリクエストしました…

テストはパブリック IP を持つサーバーで行うことをお勧めします。あるいは、少なくとも有効な HTTPS 証明書を持つサーバーで行ってください(プライベート IP だと設定がより複雑になります)。

ログインできるようにするため、一旦「rail c」で HTTPS を無効にします。ログイン後、Let’s Encrypt アドオンが有効になっているか確認します(app.yml で設定する必要があるかもしれません)。有効であれば、一時的なドメインに対して HTTPS を有効にします。すべて問題なければ、最終的なドメインを VM に転送し、そのドメインでアプリを再構築します。

これで適切なロードマップでしょうか?

こんにちは、

https を SiteSetting.force_https = false で無効化後、サイトにアクセスでき、サイト管理者としてログインできました。

説明された手順に従って Let’s Encrypt を設定しました:
(Set up HTTPS support with Let's Encrypt)

サイトを再構築した後、何も機能しませんでした。ブラウザからサイトにアクセスできません。

何が間違っていたか確認する方法はありますか?

よろしくお願いいたします。

I.