MaxMind 401 오류 -- 라이선스 키가 있는데 다운로드가 안 됩니다

Configure MAXMIND for reverse IP lookups의 지시에 따라 설정을 완료한 것으로 생각되지만, MaxMind DB 다운로드 시 401 오류가 발생합니다.

표준 설치 환경이며, 자체 호스팅(self-hosted) 및 최신 버전으로 유지하고 있습니다.
MaxMind에서 계정을 생성하고 새로운 라이선스 키를 추가했습니다.

app.yml의 ENV 섹션을 다음과 같이 수정했습니다:

  ## The maxmind geolocation IP address key for IP address lookup
  ## see https://meta.discourse.org/t/-/137387/23 for details
  DISCOURSE_MAXMIND_ACCOUNT_ID: [my account ID]
  DISCOURSE_MAXMIND_LICENSE_KEY: [my license key]

…그 후 ./launcher rebuild app을 실행했습니다.

재빌드 과정에서 다음과 같은 “401 Unauthorized” 오류가 기록되었습니다:

MaxMind database GeoLite2-City download failed. : OpenURI::HTTPError : 401 Error
MaxMind database GeoLite2-ASN download failed. : OpenURI::HTTPError : 401 Error

(…물론 /var/www/discourse/vendor/data에 DB 파일이 저장되지 않았습니다)

이 제안에 따라 MaxMind Developer Portal에서 찾은 명령어를 동일한 자격 증명을 사용하여 데이터베이스를 직접 다운로드했습니다:

curl -O -J -L -u [my account ID]:[my license key] \
'https://download.maxmind.com/geoip/databases/GeoLite2-City/download?suffix=tar.gz'

…이것은 정상적으로 작동했습니다.

Discourse에서 연결할 때 401 오류가 발생하는 원인이 무엇일까요?

Looks like this topic didn’t find any takers! Were you able to figure it out?

Thanks for checking in! No, I haven’t figured it out. I had the same result after a subsequent update+rebuild. Not sure what to look into… :person_shrugging:

안녕하세요, 죄송합니다. 이 주제가 방치되고 있네요. 저도 이 부분에 대해 경험이 많지 않습니다. 리뷰 대기열에서 IP 조회 관련 문제를 겪고 계신 건가요? 아니면 걱정하지 않아도 되는 경고일 수도 있겠네요? :thinking:

리뷰 대기열이 많지는 않지만, MaxMind DB가 없다면 이슈를 조사할 때 사용자 위치를 조회하는 것이 불가능할 것입니다. 그리고…

MaxMind DB 다운로드를 위한 연결에 문제가 있었는지, 아니면 저만 그런 건지 궁금합니다. 필요할 때까지는 알아채기 어려운 문제인 것 같습니다.

참고로 제 마이닝은 아직 잘 되는 것 같습니다. :person_shrugging:

불행히도 그 차이가 뭔지는 모르겠어요. :thinking:

방금 재구성한 사이트에서는 작동하는 것 같습니다.

제 추측으로는 해당 설정이 잘못된 위치에 있는 것 같습니다(게시하신 내용을 보면 그럴 가능성은 낮아 보이지만요).

다음과 같이 Maxmind 자격 증명이 표시됩니까?

root@figgy:/var/discourse# ./launcher enter app
root@figgy-spm:/# set|grep MAXM
DISCOURSE_MAXMIND_ACCOUNT_ID=12345
DISCOURSE_MAXMIND_LICENSE_KEY=mycoolkey
root@figgy-spm:/# grep maxm /var/www/discourse/config/discourse.conf
maxmind_license_key = 'mcoolkey'
maxmind_account_id = '12345'

따라서 다음과 같이 실행해 보세요.

./launcher enter app
set|grep MAXM
grep maxm /var/www/discourse/config/discourse.conf

또한 컨테이너 내부에서 Rails가 해당 설정을 가지고 있는지 확인할 수 있습니다:

rails c

그리고 다음을 실행합니다.

GlobalSetting.maxmind_account_id
GlobalSetting.maxmind_license_key

app.ymlenv: 섹션에 설정이 잘못 들어 있지 않기를 바랍니다(붙여넣으신 주석 내용을 보면 올바른 위치에 있는 것으로 보이지만요). 만약 그렇다면 수정하기가 쉽습니다.

Jay, 감사합니다 – 위에 제시하신 문제 해결 단계를 모두 확인해 보니, 해당 부분을 확인하던 중 기존 설정을 정리하고 처음부터 다시 시작했습니다. 이번에는 Discourse가 MaxMind DB를 성공적으로 다운로드했고, 이제 IP 주소를 지리적으로 해석할 수 있습니다.

제 MaxMind 계정에 일시적인 오류가 있었거나, 원래 라이선스 키를 복사/붙여넣기할 때 실수가 있었을 것 같습니다.

다른 문제는 Jay님의 노력 덕분에 배제할 수 있었으므로, 이 내용을 해결책으로 표시하겠습니다. :white_check_mark: