ユーザーのカスタムアバターをリクエストすると500が返される

カスタムアバターをアップロードしようとしましたが、正常にアップロードできましたが、https://example.com/user_avatar/example.com/example_user/96/11_2.png をリクエストすると、500エラーが返されました。デフォルトの匿名アバターではこのエラーはありません。

最新の master Discourse ブランチです。
Cloudflare R2 を S3 ストレージとして使用しています。

unsupported-install を利用していますか?

いずれにしても、500だけでは十分な情報ではありません。関連するログ情報を共有していただければ、誰かがお手伝いできるかもしれません。

「いいね!」 2

もちろんです。ところで、アップロードコンテンツの保存にはCloudflare R2(S3互換)を使用しました。バケット内のファイルを確認したところ、アバターファイルは実際に存在していましたが、クライアントはhttps://example.com/user_avatar/example.com/example_user/96/11_2.pngでアクセスできませんでした。非常に奇妙です。

production.log でこの行を見つけました。

Processing by UserAvatarsController#show as PNG
  Parameters: {"hostname" => "echonet.icu", "username" => "where", "size" => "288", "version" => "12_2"}
Completed 418  in 599ms (Views: 4.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.4ms)

これに関連している可能性があります。

最新バージョンでのS3の問題かもしれません :thinking:

現在のナイトリー版だけの問題であることを願っています。 プロキシを設定することで解決しました。

@MoRanYueさん、どのように解決したか詳しく教えていただけますか?

私も同じ問題を抱えています。

ありがとうございます。

@avidseeker
OSSサービスを使用している際に、サーバーからアクセスできない場合があります。例えば、中国にいて、Cloudflare R2へのサーバーの接続がローカルISPによってブロックされている場合などです。クライアントがカスタムアバターリソースを取得しようとすると、サーバーはOSSからそれを取得する必要がありますが、失敗してクライアントに500を返します。

私の場合は、OSSサービスにアクセスできるプロキシサーバーにHTTP_PROXYHTTPS_PROXYという2つの環境変数を設定しました。Discourseを標準インストールした場合、app.xmlenvというフィールドがあり、そこにこれらの2つの変数を追加してから実行できます。私は非サポートのインストールを使用し、SystemdでDiscourseを管理しているため、.serviceファイルに2つのEnvironmentパラメータを追加しました。

あなたの国にはネットワーク検閲システムがありますか?もしあれば、何をすべきか既に理解していると仮定できます。もしなければ、OSSサービスのオンラインステータスとS3に関する設定を確認してください。

「いいね!」 1

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