Discourse IDの設定についてヘルプ

はい、申し訳ありません。ここのエラーメッセージは改善が必要です。このエラーメッセージが表示された場合、自動登録で何かが失敗しました。そのエラーが何であったかをお見せするために、コアを修正する必要があります。

ID の有効化をもう一度試してみて、インスタンスの /logs に移動すると、そこに報告されているエラーが表示されますか?

「いいね!」 2

いいえ、何もありません。試してみました。最後のログは日曜日からのものです。

Railsコンソールを開き、このコマンドを実行してください。

DiscourseId::Register.call

おそらく失敗すると思いますが、より有用なエラーメッセージが表示されるはずです。

「いいね!」 1

具体的にはどのコマンドですか?

試したのは rake DiscourseId::Register.call です。

root@prometheus-discourse-concarne:/var/www/discourse# rake DiscourseId::Register.call
rake aborted!
Don't know how to build task 'DiscourseId::Register.call' (See the list of available tasks with `rake --tasks`)
Did you mean?  discourse_calendar:install:migrations
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)

そして rails r "DiscourseId::Register.call" を試しましたが、コンソールには何も返ってきませんでした。

/追記:すみません、言及し忘れましたが、有効化も作成もされませんでした。Discourse ID を有効化しようとすると、まだ同じエラーメッセージが表示されます。

以下を実行する必要があります。

./launcher enter app
rails c
DiscourseId::Register.call

ああ。それは rails r がすることのようですね。知りませんでした。しかし、私が得た出力から判断すると、少なくとも rails コンソールでは何も出力が得られないということはありそうにありません。

ええ。そして rails r を試しましたが、何も出力されなかったので、指示通りに rails コンソールを実行する必要があります。

「いいね!」 1

コンソール経由で行う必要があります。Pfaffman が指摘したように。DiscourseId::Register.call は rake タスクではありません。

「いいね!」 1

@pfaffman@pmusaraj さん、ありがとうございます。これで動作するようになりました。そして、(すべてのインスタンスで同じ設定のため)何が起こっているのか分かりました…

\"Registration failed: 400\\nError: {\\\"errors\\\":[\\\"You supplied invalid parameters to the request: Domain validation failed: Failed to fetch https://forum.concarne.org/.well-known/discourse-id-challenge with error code: 404\\\"],\\\"error_type\\\":\\\"invalid_parameters\\\"}\"

前述の通り、Apacheウェブサーバーの背後にDiscourseがあります。Letsencrypt証明書のチャレンジのために、.well-knownディレクトリへのクエリには例外を設けています。

ちょっと待ってください、それを変更してみます。

「いいね!」 1

はい、それでした!

これまで ProxyPass /.well-known ! を使用していましたが、ProxyPass /.well-known/acme-challenge ! に変更しました。

これは、セルフホスト型 Discourse インスタンスの設定方法(現時点では見つけられませんが…)に追加すべきかもしれません。

RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /.well-known/acme-challenge !
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

皆さん、忍耐強く対応していただきありがとうございました。:slight_smile:

「いいね!」 2