做一个产品,如果你的数据库允许Internet访问的话会有安全问题。
所以我们的数据库需要限制访问的流量
如果是数据库运行在主机上,那么
就可以了
直接用数据库的配置文件,限制只能使用主机访问
但我们用的是容器来跑一个数据库话
想法1:设置成bind-address = 127.0.0.1的话
其他在此主机上的容器会报错
想法2: 设置成bind-address = 192.168.111.73(主机IP)
结果是其他在同一网段的主机也可以访问数据库
The bind-address setting tells MySQL whether it can listen on a TCP socket for new connections. We have three basic ways to configure bind-address:
解决方式:
配置文件不行了,用Iptables来限制访问
通过iptables限制3306端口的访问(只允许主机IP192.168.111.73),其他IP都禁止访问
结果:
容器数据库本身可以访问数据库,其他在主机上的容器也可以访问数据库,其他主机不能访问数据库。达到我的目标了
(容器都是用的host网络模式)
领取专属 10元无门槛券
私享最新 技术干货