阿里云ECS服务器配置MongoDB外网访问

阿里云ECS服务器配置MongoDB外网访问

此处配置ECS服务器允许外网,即此处本地Mac,去远程连接(位于阿里云ECS服务器中的)MongoDB

1.登录ECS服务器 配置阿里云安全组

mongdb 安全组规则

2.放开MongoDB端口

iptables -A INPUT -p tcp --dport 27017 -j ACCEPT

3. 配置MongoDB 允许远程链接

mongodb.conf 配置

net:
  bindIp: 0.0.0.0

注:在设置外网所有IP都能访问之前,要设置用户名和密码,保证安全!!!

笔者配置完后,由于ECS服务器配置了nginx做代理,导致依旧无法访问MongoDB,于是需要对nginx做改变!

由于笔者Nginx主要是提供了http相关的代理配置,mongodb需要tcp,故需要在nginx.conf中添加tcp的配置

stream {
    server {
        listen  ;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass    mongodb;
    }

    upstream mongodb {
      server ;
  }
}

如出现stream无法配置,无法启动nginx ,例如出现如下错误:unknown directive “stream” in /usr/local/nginx
可能是nginx默认安装的时候无法加载流stream模块,需要在启动参数里加上–with-stream。
解决方法: 重新对源文件进行编译、安装,通过添加–with-stream参数指定安装stream模块。

> ./configure --with-stream 
> make & make install1

再次检查nginx.conf配置文件,确认配置无语法错误后,再次尝试启动服务。即可成功!

你可能感兴趣的:(阿里云ECS服务器配置MongoDB外网访问)