我们正在尝试从errbit连接到aws docdb,但没有成功。这是docdb中的连接字符串:
mongodb://user:<insertYourPassword>@dev-docdb-cluster.cluster-xxxx.us-east-1.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0我们可以连接到Atlas db,但是我们用于atlas的连接字符串格式是这样的:
mongodb://user:pass@cluster-shard-00-00-xxx.mongodb.net:27017,cluster-shard-00-01-xxx.mongodb.net:27017,cluster-shard-00-02-xxx.mongodb.net:27017/errbit?ssl=true&replicaSet=Cluster-shard-0&authSource=admin&w=majority发布于 2019-08-22 22:36:52
您需要将config/mongo.rb文件更改为如下所示:
log_level = Logger.const_get Errbit::Config.log_level.upcase
Mongoid.logger.level = log_level
Mongo::Logger.level = log_level
Mongoid.configure do |config|
uri = if Errbit::Config.mongo_url == 'mongodb://localhost'
"mongodb://localhost/errbit_#{Rails.env}"
else
Errbit::Config.mongo_url
end
config.load_configuration(
clients: {
default: {
uri: uri,
options: { ssl_ca_cert: Rails.root.join('rds-combined-ca-bundle.pem') }
}
},
options: {
use_activesupport_time_zone: true
}
)
end您可以注意到,这与当前的完全相同,除了我添加了:options: { ssl_ca_cert: Rails.root.join('rds-combined-ca-bundle.pem') }
在这样做之后,它确实对我起作用了:)当然你需要在你的Rails根文件夹中有rds-combined-ca-bundle.pem文件。
wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
是的,我必须用下面的代码创建一个docker镜像:
FROM errbit/errbit:latest
LABEL maintainer="Tarek N. Elsamni <tarek.samni+stackoverflow@gmail.com>"
WORKDIR /app
RUN wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
COPY ["mongo.rb", "/app/config/"]https://stackoverflow.com/questions/57102010
复制相似问题