仅向某些其他服务器开放 MySQL、Redis 等?

仅向某些其他服务器开放 MySQL、Redis 等?

许多服务器应用程序(例如 MySQL 或 Redis)默认只能通过本地主机访问,并具有类似 的配置行bind 127.0.0.1。如果要远程连接,则必须删除此行。

现在,如果我删除此行,理论上每台计算机都可以尝试连接到此处。我是否可以以某种方式配置服务器以仅接受来自给定其他服务器列表的这些服务的连接?这样,我想确保我的其他服务器可以访问它,而随机计算机则不能。值得指出的是,我的其他服务器并不都在同一个网络中,因此连接必须通过互联网进行。

完美的解决方案是如果我可以将其设置为仅允许来自某个 RDNS(例如 *.domain.com)的连接,那么我就不必为每个新服务器重新配置它。

答案1

我是否可以以某种方式将服务器配置为仅接受来自给定的其他服务器列表的这些服务的连接?

是的,这叫做防火墙。您可以在此处配置白名单 IP 地址和/或允许访问您服务器上的服务的 IP 地址范围。

完美的解决方案是如果我可以将其设置为仅允许来自某个 RDNS(如*.example.com)的连接,那么我就不必为每个新服务器重新配置它。

请不要这样做(即使从技术上讲您可以这样做),因为虽然这听起来很方便,但并不安全。 IP 地址的所有者可以在反向 DNS 记录上设置他们想要的任何主机名,包括他们不拥有的域(例如您的域)中的主机名...

答案2

许多服务器应用程序(例如 MySQL 或 Redis)默认只能通过 localhost 访问,并具有类似 bind 的配置行127.0.0.1。如果要远程连接,则必须删除此行。

如果您想要远程连接,您可以将服务器绑定到您希望服务侦听的特定 IP 地址。无需删除此行。假设

 bind address 192.168.0.1      #### Private Binding
 bind address 52.14.133.10     #### public Binding

但此解决方案仅在您只想绑定一台服务器时才有效。对于多个侦听,建议使用上述解决方案,即防火墙是唯一的解决方案。

相关内容