我是否需要将nginx设置为MongoDB实例的反向代理?

时间:2016-11-07 09:11:09

标签: mongodb nginx proxy

我已经将nginx配置为我的webapp的反向代理,如下所示:

https://www.myapp.com - main site
https://api.myapp.com - api endpoints

我想知道,如果我应该独立于nginx环境运行mongodb,或者我可以配置它以便可以在此路由上访问:

https://db.myapp.com - mongodb running here

这是一个可行的选择还是我不应该关心网址的优雅程度,只需使用the docs中描述的标准配置?如果我这样做,是否会出现与此配置相关的性能问题?

1 个答案:

答案 0 :(得分:0)

你绝对不需要Nginx。 MongoDB有一个自定义负载均衡器/反向代理(mongos),您可以在移动到分片和复制的MongoDB集群后使用它。

如果你的想法是通过Nginx公开暴露MongoDB,你应该看看像deployd或Meteor这样的Backend-as-a-Service解决方案。面向公众的MongoDB没有任何额外的安全措施和API层,否则将是非常不安全的。

如果您只想为MongoDB使用不同的主机名,则应使用DNS服务器或服务(例如,如果您在AWS上,请使用Route53)将服务器IP映射到令人难忘的名称。