У меня может не хватить здесь кода для предоставления.
В настоящее время я использую strapi и запускаю свое приложение на heroku + atlas mongodb. Все работало нормально, когда я запускал приложение с postgresql от heroku, но я вместо этого перенес все в atlas mongodb.
в страпях У меня мой конфиг как
{
"defaultConnection": "default",
"connections": {
"default": {
"connector": "strapi-hook-mongoose",
"settings": {
"client": "mongo",
"host": "${process.env.DATABASE_HOST}",
"port": "${process.env.DATABASE_PORT}",
"database": "${process.env.DATABASE_NAME}",
"username": "${process.env.DATABASE_USERNAME}",
"password": "${process.env.DATABASE_PASSWORD}"
},
"options": {
"useNullAsDefault": true,
"ssl": "${process.env.DATABASE_SSL}"
}
}
}
}
эти конфиги находятся в .env
, что при локальном запуске файл будет выглядеть как
DATABASE_HOST=xxxxxxx-shard-00-00-xxxxxx.mongodb.net:25758,xxxxxxx-shard-00-01-xxxxxx.mongodb.net:25758,xxxxxxx-shard-00-02-xxxxxx.mongodb.net:25758/test?ssl=true&replicaSet=xxxxxxx-shard-0&authSource=admin&retryWrites=true
DATABASE_PORT=25758
DATABASE_USERNAME=xxxxx
DATABASE_PASSWORD=xxxxx
DATABASE_NAME=xxxxx
DATABASE_SSL=true
, если я запускаю его локально, он отлично работает и может подключаться к БД.
, поэтому я развернул на heroku и пошел к настройке героку для настройки вар. Я настроил те же самые переменные, что и в .env
файле
Я также проверил белый список ip atlas mongodb, я включаю белый список для всех трафика (любой ip), так что это не должно быть проблемой.
Но, как уже упоминалось, я использовал тот же .env
локально и config vars
на heroku .... но на heroku я получил это сообщение об ошибке
error Error connecting to the Mongo database. bad auth Authentication failed.
У всех есть предложения о том, почему аутентификация не удалась?
Заранее спасибо за любые предложения и помощь.