关于将MySql和Apache绑定到localhost

我一直在阅读关于在Ubuntu上保护MySql和Apache的文章,其中一个build议是“确保MySQL只允许来自本地主机的连接”。

这意味着做[bind-address = 127.0.0.1]

事情是,即使网站上线,我还是把它绑定到本地主机上吗?

该网站与数据库进行交互,以获取和添加数据。 其他用户在使用我的域名访问网站时是否可以使用该网站? 我对此有点困惑。 这是怎么做的?

当它上线时,我应该改变它,所以它仍然是安全的,不容易受到攻击?

是的,只要MySQL在Web服务器主机上运行,​​您应该保持bind-address = 127.0.0.1 。 当用户呼叫您的站点时,Web服务器(而不是用户)调用MySQL来运行查询。 因此,查询来自Web服务器的IP地址,如果它与MySQL同时存在,则为127.0.0.1。 所以为了让你的网站能够运行,你只需要能够接受本地主机的连接。 另一方面,如果你允许任何地方的连接,那么networking上的任何人都可以连接到你的MySQL服务器,如果你的防火墙允许的话(可能是错误configuration)。

另一个select是在内部和外部防火墙之间有一个DMZ,在DMZ中有Web服务器,而在内部防火墙之后的另一个主机上有MySQL。 内部防火墙只允许从Web服务器主机连接到MySQL。 这会在外部和你的MySQL服务器之间增加一个额外的防火墙层。 然后,您需要设置bind-address以允许来自Web服务器的连接。