MAXMIND를 역 IP 조회용으로 설정하기

MAXMIND란 무엇이며, 왜 필요한가요?

Discourse는 MAXMIND을 사용하여 역방향 IP 조회에 대한 지리적 정보를 제공합니다.

Maxmind 데이터베이스가 없으면 다음과 같은 내용이 표시됩니다:

아니면 컨테이너를 재빌드할 때 다음과 같은 메시지가 지나가는 것을 보셨을 수 있습니다:

MaxMind IP database download requires an account ID and a license key
Please set DISCOURSE_MAXMIND_ACCOUNT_ID and DISCOURSE_MAXMIND_LICENSE_KEY. See https://meta.discourse.org/t/configure-maxmind-for-reverse-ip-lookups/173941 for more details.

왜 신경 써야 하나요?

관리자가 누군가가 어디에서 로그인하는지 확인하는 것은 그 사람이 자신이 주장하는 사람(그리고 장소)인지 여부를 판단하거나 사이트의 문제를 진단하는 데 종종 유용합니다. (“오, Special-ISP에서 문제가 자주 발생하는 것을 보고 있군.”)

또한, 2.2.0.beta4부터 Discourse는 새 위치에서 로그인이 감지되면 관리자에게 알림을 보내는 데 이 정보를 사용하기도 합니다. Maxmind 데이터베이스가 없으면 Discourse는 이 알림을 제공할 수 없습니다.

MaxMind 계정을 설정하고 라이선스 키를 생성하지 않으면 어떻게 되나요?

역방향 조회를 수행할 수 없습니다. 위에서 언급된 문제가 당신에게 해당되지 않는다면, 그냥 무시해도 큰 문제가 되지 않을 가능성이 높습니다.

MaxMind 계정을 설정하고 계정 ID 및 라이선스 키를 얻는 방법은?

최신 지침은 Maxmind의 Generate a license key 페이지를 참조하세요. 하지만 다음 단계를 수행해야 합니다.

  • GeoLite2 가입 페이지를 방문합니다.
  • 로그인한 후 왼쪽 내비게이션 바의 Manage License Keys 탭에서 라이선스 키를 생성합니다. 새 키를 생성하고 계정 ID와 라이선스 키를 복사하세요. 이를 분실하면 새 키를 생성해야 합니다.

이후 app.yml의 ENV 섹션에 다음과 같은 줄을 추가하여 해당 키를 설정합니다:

  DISCOURSE_MAXMIND_ACCOUNT_ID: your-account-id-here
  DISCOURSE_MAXMIND_LICENSE_KEY: your-key-here

또는 discourse-setup 실행 시 프롬프트가 표시될 때 입력할 수도 있습니다.

IPv6 사용자를 위한 참고 사항

표준 설치에서는 기본적으로 IPv6을 완전히 지원하지 않습니다. IPv6이 설정된 서버를 가지고 있으며 IPv6 주소에 대한 Maxmind 정보가 필요한 경우, 사용자의 실제 IP 주소가 Discourse로 전달되도록 해야 합니다. 일반적으로 이는 원격 IP 주소를 Discourse로 전달하는 외부 프록시를 사용하여 달성합니다. 이는 표준 설치보다 더 높은 시스템 관리 전문 지식을 요구합니다.

32개의 좋아요

@pfaffman, 'My License Keys’의 URL에는 MaxMind 계정 ID가 포함되어 있어 본인 외에는 사용할 수 없습니다 :wink:

3개의 좋아요

나한테는 잘 작동해! :winking_face_with_tongue:

재미있는 건, 3년 동안 다른 사람은 아무도 불평하지 않았다는 거야. 위키니까 직접 수정할 수 있어. 컴퓨터를 쓸 기회가 되면 기억이 나면 업데이트를 해볼게.

2개의 좋아요

이런 페이지를 실제로 읽는 사람이 몇 명인지 보여줍니다 :grin:

페이지를 수정했습니다 :nerd_face:

3개의 좋아요

맞죠! 그리고 이걸 만들는데 꽤 많은 시간을 들였습니다. 링크가 저에게만 작동했다는 걸 어떻게 놓쳤는지는 모르겠지만, 로그인해야 한다는 점이 저를, 그리고 아마도 많은 다른 사람들을 혼란스럽게 했나 봅니다.

2개의 좋아요

@evert, 그냥 궁금해서 여쭤봅니다. 괄호를 의도적으로 남겨두신 건가요? 그렇다면 버튼으로 처리하는 것이 더 보기 좋을까요?

Button example

Manage License Keys

<kbd>Manage License Keys</kbd>
3개의 좋아요

좋아, 왜 안 되지? :+1:t2:

2개의 좋아요

제가 아는 한, 모든 준비는 끝난 상태입니다.

image

하지만 모든 사용자의 위치가 "알 수 없음"으로 표시됩니다.

도움을 주시면 감사하겠습니다.

앞에 있는 # 문자를 제거하고 다시 빌드해야 합니다. # 문자는 YAML 파일에서 해당 행 전체를 주석으로 만듭니다.

5개의 좋아요

감사합니다. 그냥 작성하고 종료하나요, 아니면 재구축도 해야 하나요?

재빌드가 필요합니다. 그렇지 않으면 Discourse가 app.yml 변경 사항을 인식하지 못합니다.

4개의 좋아요

감사합니다. 완료되었고 정상 작동합니다 :hugs:

2개의 좋아요

여기 대부분의 사용자에게는 자명한 사실일 수 있지만, VPN을 사용하는 사용자는 다른 사용자보다 더 많은 알림을 생성할 수 있습니다. 이는 관리자에게 경고를 보내는 것일 뿐, 반드시 악의적인 사용자를 의미하는 것은 아닙니다.

2개의 좋아요

완벽합니다! 이 튜토리얼 감사합니다.

1개의 좋아요

죄송합니다.
Discourse가 관리자 패널에서 IP 조회(역 IP 조회)를 수행할 때 오프라인 GeoIP 데이터베이스를 사용하는지, 아니면 매번 외부 API를 호출하는지 궁금합니다.

감사합니다!!

1개의 좋아요

참고로, 저는 외부 API를 호출하는 대신, Discourse를 로컬의 GeoLite2-City.mmdb 파일로 지정하여 IP 조회를 오프라인으로 처리하는 방식을 선호합니다.

그런데 IPv6을 지원하지 않나요? 이 트래픽을 v4로 리디렉션할 때가 된 것 같습니다 :slight_smile:

(여기서 질문을 삭제하고 Support 게시판에 게시합니다: MaxMind 401 오류 – 라이선스 키가 있지만 다운로드 불가)