Ruby on rails 通过nginx(流)反向代理在http上创建数据库

Ruby on rails 通过nginx(流)反向代理在http上创建数据库,ruby-on-rails,mongodb,nginx,reverse-proxy,Ruby On Rails,Mongodb,Nginx,Reverse Proxy,我想将托管mongo数据库服务移动到防火墙后面的自托管解决方案。托管的RubyonRails应用程序通过MongoMapper连接。我想先只移植数据库,然后可能是RubyonRails应用程序 我已经在nginx 1.9.11上设置了server_namedata.example.com端口80,以重定向到另一个上游端口,localhost:8090 这是因为我也让这个nginx服务于一个网站example.com:80和www.example.com:80,但我只希望数据.example.co

我想将托管mongo数据库服务移动到防火墙后面的自托管解决方案。托管的RubyonRails应用程序通过MongoMapper连接。我想先只移植数据库,然后可能是RubyonRails应用程序

我已经在nginx 1.9.11上设置了server_name
data.example.com
端口80,以重定向到另一个上游端口,
localhost:8090

这是因为我也让这个nginx服务于一个网站
example.com:80
www.example.com:80
,但我只希望
数据.example.com:80
连接到上游tcp端口。我这样做是因为服务器名称仅为http部分,也就是说,在流服务器设置中不可用是可以理解的)

因此,
“数据web域”:80
本地主机:8090
配置:

server {
    listen       80;
    server_name data.example.com;
    location / {
        proxy_pass http://localhost:8090;
}
现在,我通过流将
localhost:8090
传递给mongodb,以允许tcp连接

stream {
    server {
        listen                8090;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass    stream_mongo_backend;
      }
      upstream stream_mongo_backend {
          server localhost:27017;
      }
 }
并可浏览至as data.example.com

大宗报价 您正在尝试在本机驱动程序端口上访问MongoDB。对于http诊断访问,将1000添加到端口号

好的,上面的配置允许web域中的web请求从mongodb返回错误消息

当直接连接到服务器时,通过localhost或服务器的unix域名连接到端口8090,流重定向到27017工作,即此mongo命令行连接

mongo server-unix-name:8090/dummydb -udummyuser -pdummysecret
但通过网络域则不然

mongo data.example.com:80/dummydb -udummyuser -pdummysecret

data.example.com:80
localhost:8090
之间有什么中断

不会
?不知道怎么做?出现了什么错误?我正在使用类似的设置,并通过本地终端通过nginxworks@Rexford最后我把所有的东西都一次搬走了。也许我应该删除我的问题?你是如何进行移植的?移植涉及到什么?对于DB-将托管mongodb的内容转储到本地光盘,将其导入mongodb,创建mongo用户。对于app-installruby,克隆repo,安装app(gem文件),将app配置更改为指向newmongodb和newuser。启动rails应用程序