如何配置HAProxy将请求转发到Mongo数据库

问题描述 投票:0回答:1

是否可以设置/使用HAProxy将请求转发到mongo数据库?如果是这样,有人可以在haproxy.cfg文件中提供如何进行设置的基本示例吗?

我尝试过这个,但这不起作用:

listen  mongo
    bind 10.123.45.6:27017
    mode tcp
    balance roundrobin
    server mongo1 10.456.78.9:27017

其中10.123.45.6是安装了HAProxy的实例的IP。[10.456.78.9是安装了mongodb的实例的IP。

尝试通过命令行调用客户端时的屏幕截图:

C:\Program Files\MongoDB\Server\3.6\bin>mongo "mongodb://10.123.45.6:27017"
MongoDB shell version v3.6.11
connecting to: mongodb://10.123.45.6:27017/?gssapiServiceName=mongodb
2020-01-23T15:53:41.707-0800 W NETWORK  [thread1] Failed to connect to 10.123.45.6:27017 after 5000ms milliseconds, giving up.
2020-01-23T15:53:41.707-0800 E QUERY    [thread1] Error: couldn't connect to server 10.123.45.6:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:263:13
@(connect):1:6
exception: connect failed
haproxy
1个回答
0
投票

您的设置正确,但是我为您添加了一个示例


listen port_27017
  bind :27017
  mode tcp
  server mongodb-port 10.456.78.9:27017

它应该连接,但只是为了确认从哪里尝试连接?是在本地网络内还是在云中某处。因为根据RFC 1918,所有10.0.0.0/16都属于专用网络,所以如果您在网络外部并尝试访问10.123.45.6,它将无法使用。

如果在外部,则需要使用其公共IP地址而不是私有IP连接到HAProxy。

© www.soinside.com 2019 - 2024. All rights reserved.