我遇到了问题。我认为我的设置是正确的,但在下载 MaxMind 数据库时收到了 401 错误。
我使用的是标准安装,自托管且为最新版本。
我在 MaxMind 创建了一个账户,并添加了一个新的许可证密钥。
我编辑了 app.yml 的 ENV 部分,如下所示:
## MaxMind 地理位置 IP 地址密钥,用于 IP 地址查找
## 详情请参见 https://meta.discourse.org/t/-/137387/23
DISCOURSE_MAXMIND_ACCOUNT_ID: [我的账户 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 [我的账户 ID]:[我的许可证密钥] \
'https://download.maxmind.com/geoip/databases/GeoLite2-City/download?suffix=tar.gz'
……这运行正常。
那么,从 Discourse 连接时导致 401 错误,我可能遗漏了什么?