حسنًا، أنا عالق. أعتقد أنني قمت بإعداد كل شيء بشكل صحيح، لكنني أتلقى خطأ 401 عند محاولة تنزيل قواعد بيانات MaxMind.
أنا على تثبيت قياسي، مُستضاف ذاتيًا وحديث.
أنشأت حسابًا على MaxMind، وأضفت مفتاح ترخيص جديد.
قمت بتعديل قسم ENV في ملف app.yml إلى ما يلي:
## مفتاح MaxMind لتحديد الموقع الجغرافي عنوان IP لاستعلام عن عنوان IP
## انظر https://meta.discourse.org/t/-/137387/23 للحصول على التفاصيل
DISCOURSE_MAXMIND_ACCOUNT_ID: [معرف حسابي]
DISCOURSE_MAXMIND_LICENSE_KEY: [مفتاح الترخيص الخاص بي]
ثم قمت بتشغيل ./launcher rebuild app
أثناء إعادة البناء، تم تسجيل هذه الأخطاء “401 غير مصرح به”:
فشل تنزيل قاعدة بيانات MaxMind GeoLite2-City: OpenURI::HTTPError : خطأ 401
فشل تنزيل قاعدة بيانات MaxMind GeoLite2-ASN: OpenURI::HTTPError : خطأ 401
(… وبالطبع، لم تصل أي ملفات قاعدة بيانات إلى مجلد /var/www/discourse/vendor/data)
بناءً على هذا الاقتراح، استخدمت أمرًا وُجد في بوابة مطوري MaxMind — باستخدام نفس بيانات الاعتماد — لتنزيل قاعدة بيانات مباشرة:
curl -O -J -L -u [معرف حسابي]:[مفتاح الترخيص الخاص بي] \
'https://download.maxmind.com/geoip/databases/GeoLite2-City/download?suffix=tar.gz'
وقد نجح الأمر تمامًا.
ما الذي قد أكون أفقده مما يسبب خطأ 401 عند الاتصال من Discourse؟