我对服务器安全了解不多。我听说过 iptables,但从未使用过(也许这不是我需要的?)。
所以现在我的目标是拥有一个主网络服务器,一个单独的数据库和 memcached 服务器(除非你认为我应该只有一个网络服务器和一个带有 mysql 和 memcached 的服务器?)。
无论如何,有没有一种方法可以在非 Web 服务器(例如 mysql / memcached 服务器)上基本上不接受任何流量或任何来自 Web 服务器以外的任何内容?最好的方法是什么?推荐这种方法吗?
另外,我正在使用 rackspace 的云服务器。它们包含一个称为“内部 IP 地址”的东西。我假设我应该使用它,因为它可能比“外部 IP 地址”更快。
答案1
您可以在一台机器上运行这三个程序,关闭 IP 网络并使用 unix 套接字进行连接。
您可以在一台服务器上运行 webserver/memcached,在另一台服务器上运行 mysql,仅为您的 webserver/memcached 机器的 IP 开放端口 3306。
您可以独立运行它们并对端口进行防火墙保护,以便只有您的机器才能访问特定端口。
您需要弄清楚您的架构以及如何扩展。最终,随着业务开始增长,您可能会将架构拆分成多个部分,但是,如果您已经很好地规划了软件项目,那么这应该不会造成太大的麻烦。
您的内部 IP 地址是未路由到互联网的 IP,是您用来将各个实例连接在一起的地址。内部 IP 地址可能可以看到其他云机器,但无法访问互联网,或者它可能与您的机器之间的 VLAN 隔离。我没有使用过他们的服务,因此无法对此发表评论。