카테고리 요청 오류

최신 버전의 WP Discourse를 사용하는 내 WordPress 사이트에서 discourse 탭 아래 모든 게시글에 다음 오류가 표시됩니다:

Discourse에서 카테고리 목록을 가져오는 동안 오류가 발생했습니다.

로그에는 오류 메시지가 가득 차 있습니다.

[2025-09-22 00:10:14] comment.ERROR: sync_comments.get_discourse_category {"message":"The categories key was not found in the response from Discourse."} 

일단 테스트 차원에서 새로운 API 키를 생성해 보았습니다.

모든 설정을 세 번이나 확인해 보았지만

두 번째 WordPress 사이트에서는 동일한 Discourse 서버에서 카테고리를 문제없이 가져올 수 있습니다.

무엇을 놓치고 있을까요?

아마 이 게시물(그리고 주제)을 참고해 보세요

어떤 이유로든 한 명의 사용자만 설정했기 때문에 그것이 문제라고 생각했지만, 여전히 변화가 없었습니다.

이제 더 가능성이 높은 답을 찾았습니다. 어떤 이유로든 우리 서버 관리자가 여전히 PHP 버전 7.4를 실행하고 있더군요. 버전을 올려야 합니다.

아니요, PHP 버전이 문제가 아닙니다. 현재 PHP 8.3을 사용 중인데도 모든 게시물에서 discourse 카테고리 오류가 여전히 발생합니다.

로그에 오류가 가득합니다:

[2025-09-30 00:15:49] comment.ERROR: sync_comments.get_discourse_category {"message":"The categories key was not found in the response from Discourse."} 

API 키를 여러 번 다시 생성해 보았으며, 관리자 사용자 계정에 권한이 부여되어 있습니다. API 키 아래에 있는 설명이 제 discourse API 옵션과 일치하지 않습니다. 옵션을 “All Users”로 설정하면 User를 설정할 옵션이 없으며, “Single User” 옵션을 사용할 때만 해당 옵션이 표시됩니다.

이전에는 잘 작동했지만, 몇 주 동안 플러그인을 작동시키지 못하고 있습니다. 제가 놓치고 있는 부분이 무엇일까요?

무엇이 변경되었는지 생각해 보겠습니다. 지난 몇 주 동안 플러그인 자체는 변경되지 않았으므로, 이 문제를 일으킬 수 있는 변경 사항은 다음과 같습니다:

  1. Wordpress에 변경 사항을 적용했나요? 새로운 플러그인 설치, 호스팅 서비스 변경, Cloudflare 활성화 등?
  2. Discourse에 변경 사항을 적용했나요? 위와 동일합니다.

@cogdog 문제를 해결하셨나요? Angus가 문제 해결 단계를 공유했기 때문에, 특히 업데이트 소식에 모두 관심이 많습니다.

바빠서 답변을 놓쳤습니다. 제가 일하는 조직의 WordPress 사이트라서 정확한 시점을 확신하기 어렵습니다. 그곳에 글을 올리는 동료들이 이 기능을 많이 사용하지 않아서, 제대로 작동했던 시점이 언제였는지 정확히 기억나지 않습니다 — 아마 몇 달 전이었을지도 모릅니다.

호스팅 변경이나 Cloudflare 사용은 없었습니다. 아마 새로운 플러그인이 추가되었을 가능성이 높습니다. Discourse 설정에는 변경 사항이 없었습니다. 문제를 인지했을 때 로깅을 더 활성화했습니다.

Discourse의 응답이 무엇인지 테스트할 다른 방법이 있을까요? 모든 로그에는 다음과 같이 표시됩니다:

[2025-10-14 00:13:18] comment.ERROR: sync_comments.get_discourse_category {"message":"The categories key was not found in the response from Discourse."}

구체적으로 말씀드리기 어렵습니다. 제 전문 분야가 기술 스택이 아니기 때문이고, 제 서버 관리자는 WordPress에 대해 꽤 약합니다.

가능하다면 WordPress와 Discourse 인스턴스에 대한 링크를 공유해 주시겠습니까? 불가능하시다면, Discourse의 /site.json 엔드포인트를 확인해 주세요. 예를 들어 meta.discourse.org/site.json으로 이동하면 categories 목록이 포함된 JSON 데이터를 볼 수 있습니다. 기본적으로 이 오류는 다음과 같은 경우 발생합니다:

  1. Discourse 인스턴스가 오류가 아닌 응답을 반환하지만;
  2. 어떤 이유로든 site.json에 categories가 없는 경우입니다.

가장 가능성 있는 원인은 여전히 @Lilly가 링크한 토픽에 설명된 내용입니다. 해당 토픽의 단계를 따라가 보시고, Discourse에 대한 유효한 연결이 유지되는지 확인해 주실 수 있을까요:

@angus 감사합니다. /site.json 파일에서 모든 카테고리가 표시된다는 것을 알게 되어 좋습니다. 여기에서 모든 카테고리를 볼 수 있습니다. 문제를 찾았어요! 완전히 PEBKAC였네요.

플러그인 설정에서 Discourse URL 항목에 https:// 대신 http:// URL을 입력해 두었었거든요. 필드 아래에 있는 예시가 이 내용을 반영하도록 수정하는 것이 좋을 것 같습니다.

URL을 https://connect.orglobal.org으로 변경하니 모든 것이 정상적으로 작동했습니다.

이렇게 당연한 것을 놓친 것이 부끄럽습니다. 사건 종료입니다.