请教一下mysql-proxy中三个绑定ip参数的问题

由于第一次玩mysql-proxy,打算配置读写分离

--proxy-address = (外网ip) 106.12.23.224:4040 #侦听地址:代理服务器的端口(默认:4040)

--proxy-backend-addresses = (外网) 106.12.23.224:3306 #地址:远程后端服务器的端口(默认值:127.0.0.1:3306)

--proxy-backend-addresse = (外网)106.13.58.213:3306 #地址:远程后端服务器的端口(默认值:127.0.0.1:3306)

我把这三个参数配置完成后 然后启动mysql-proxy时 报错:

network-socket.c:484: bind(106.12.23.224:4040) failed: Cannot assign requested address (99)

然后我把 --proxy-address 的ip改成 106.12.23.224的内网ip地址就可以启动,我想问的是,这三个参数的值是都可以配置外网,还是只能个别的配置外网,然后个别又使用内网;因为第一次玩不是很明白;非常感谢有人能解答一下,谢谢

阅读 2.3k
1 个回答

因为国内都是 NAT ,所以你要想 proxy-address 侦听公网应该用 0.0.0.0 而不是外网 IP。

说白了就是一个设备在 NAT 下是不知道自己的公网地址的,所以识别不了。

proxy-backend-addresses 是你后面 MySql 的地址,用 MySql 的子网公网地址都行(前提是 MySql 有侦听),但一般来说用子网地址,这样网络传输就只在子网中产生了,延时小、更稳定。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题