Der Server hat Probleme mit summary.json von einigen zufälligen Benutzern und gibt den Code 502 zurück. Wahrscheinlich begann es nach dem letzten Update, aber ich bin mir nicht sicher.
Ich bin mit dem Discourse-Stack nicht vertraut und habe Schwierigkeiten, die Protokolle zu finden. Ich habe die Benutzernamen und IPs ausgeblendet. Die Zeit kann variieren, aber meistens handelt es sich um wiederholte Anfragen an dieselbe Profilseite.
Aus der App /var/log/nginx/error.log:
[error] 560#560: *416 upstream prematurely closed connection while reading response header from upstream, client: *.*.*.*, server: _, request: "GET /u/user/summary.json HTTP/2.0", upstream: "http://127.0.0.1:3000/u/user/summary.json", host: "forum.taucetistation.org", referrer: "https://forum.taucetistation.org/u/user"
/shared/log/rails/production_errors.log ist leer, und /shared/log/rails/production.log enthält nur
Started GET "/u/user/summary.json" for *.*.*.* at 2024-05-24 20:26:56 +0000
Processing by UsersController#summary as JSON
Parameters: {"username"=>"user"}
ohne “Completed 200 OK” für ähnliche Anfragen.
Es scheint keine verwandten Protokolle in Unicorn zu geben (nur Verbindungsfehler mit Redis beim Start, aber es scheint am Ende erfolgreich zu sein und ist nicht relevant).
Es gibt jedoch eine verdächtige Anfrage mit langer Dauerzeit aus /var/log/postgres/current:
2024-05-24 20:49:12.727 UTC [2919] discourse@discourse LOG: duration: 95288.368 ms execute <unnamed>: SELECT replies.user_id, COUNT(*) FROM "posts" INNER JOIN "topics" "topics_posts" ON "topics_posts"."deleted_at" IS NULL AND "topics_posts"."id" = "posts"."topic_id" JOIN posts replies ON posts.topic_id = replies.topic_id AND posts.reply_to_post_number = replies.post_number JOIN topics ON replies.topic_id = topics.id AND topics.archetype <> 'private_message' AND replies.post_type IN (1) WHERE "posts"."deleted_at" IS NULL AND (posts.post_type IN (1,4)) AND "topics"."deleted_at" IS NULL AND (topics.archetype <> 'private_message') AND "topics"."visible" = TRUE AND (topics.category_id IS NULL OR topics.category_id IN (SELECT id FROM categories WHERE NOT read_restricted OR id IN (4,8,20,46,55,60,62,67))) AND "posts"."user_id" = 5318 AND (replies.user_id <> posts.user_id) GROUP BY "replies"."user_id" ORDER BY COUNT(*) DESC LIMIT 6
2024-05-24 20:49:12.728 UTC [2919] discourse@discourse LOG: could not send data to client: Broken pipe
2024-05-24 20:49:12.729 UTC [2919] discourse@discourse FATAL: connection to client lost

