ich habe ein Discourse-Backup auf einer neuen VM wiederhergestellt.
Die Wiederherstellung selbst scheint zu funktionieren. Ich sehe die korrekte Start-GUI.
Wenn ich mich jedoch einzuloggen versuche, erhalte ich einen unbekannten Fehler:
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)
Die Domain des „produktiven" Systems ist „https://deinbalkonnetz.de" (gehostet bei @discourse.). Wir haben diese auf eine interne VM verschoben, die weiterhin die Domain „discourse.itas-karlsruhe.de" besitzt. Diese Domain (ohne HTTPS-Unterstützung) wird nach wie vor in der app.yml verwendet.
In welcher Reihenfolge sollte Discourse verschoben werden?
#1 Weiterleitung der produktiven Domain an die VM? #2 Ändern der app.yml auf die endgültige Domain UND gleichzeitig Aktivierung von Let’s Encrypt?
Wenn du das Hosting von discourse.org verlässt, solltest du zuerst dein Abonnement kündigen, damit Uploads in dein Backup aufgenommen werden. Andernfalls wird dein Backup lediglich auf Uploads auf deren S3/CDN verweisen.
Ich empfehle dir, deine Tests auf einem Server mit einer öffentlichen IP-Adresse durchzuführen oder zumindest auf einem mit einem gültigen HTTPS-Zertifikat (was auf einer privaten IP-Adresse schwieriger zu konfigurieren ist).
Wenn du bereit bist zu wechseln, musst du die DNS-Einträge für deinen Server ändern und neu erstellen, um das Let’s Encrypt-Zertifikat zu erhalten. Während die DNS-Änderungen wirksam werden, befindest du dich für eine Weile in einer Übergangsphase.
Wenn du das Hosting von discourse.org verlässt, solltest du zuerst dein Abonnement kündigen, damit Uploads in dein Backup aufgenommen werden. Andernfalls wird dein Backup nur auf Uploads auf deren S3/CDN verweisen.
Ich habe ein neues Backup angefordert …
Ich empfehle, deine Tests auf einem Server mit einer öffentlichen IP-Adresse durchzuführen oder zumindest auf einem mit einem gültigen HTTPS-Zertifikat (was bei einer privaten IP schwieriger zu konfigurieren ist).
Ich werde HTTPS in „rail c" deaktivieren, nur um mich einloggen zu können. Nach dem Einloggen prüfe ich, ob das Lets-Encrypt-Add-on aktiviert ist (oder muss dies über app.yml erfolgen?). Falls es aktiviert ist, aktiviere ich HTTPS für die temporäre Domain. Wenn alles funktioniert, leiten wir die finale Domain auf die VM um und bauen die App mit dieser Domain neu auf.
Ich denke, das ist ein geeigneter Fahrplan … oder?
nach der Deaktivierung von HTTPS über SiteSetting.force_https = false war die Seite wieder erreichbar, und ich konnte mich als Site-Administrator anmelden.