使用localhost / 127.0.0.1而不是机器自己的IP地址很重要吗?

我在亚马逊AWS EC2上运行亚马逊Linux,虽然这可能不是重要的答案。

假设我有三个主机,H1,H2,H3,私有IP地址为10.0.0.1,10.0.0.2和10.0.0.3。 这可以在/ etc / hosts文件中用这些行表示:

127.0.0.1 localhost localhost.localdomain 10.0.0.1 H1 10.0.0.2 H2 10.0.0.3 H3 

在php代码中,我会根据对主机提供的内容的知识来执行诸如运行curl来访问特定主机上的内容。 我宁愿不关心我正在访问的特定主机是运行代码本身的主机,只需访问H1,H2或H3。 我可以在每个主机上使用不同的/ etc / hosts文件,使用其私有IP地址更改该行以使用地址127.0.0.1。 但是,这实际上是重要的? 如果我在所有机器上使用相同的/ etc / hosts文件,我是否牺牲任何性能或function?

networking对机器自己的私人IP地址的访问实际上会导致真正的“外部”stream量,还是被检测到,并使用像127.0.0.1这样的环回连接器呢? 接收请求的进程是否将源地址看作是机器自己的私有IP地址,还是看到127.0.0.1?

使用相同的hosts文件是好的,将不会有性能影响,如果从H1连接到H1 ,则stream量保持本地化。 但是,如果连接到localhost/127.0.0.1 ,则源IP也将为127.0.0.1 ,但如果连接到H1 ,则源IP将为10.0.0.1 (例如,在Apache日志中)。

一个区别是:如果连接到localhost ,某些应用程序(特别是MySQL / MariaDB)切换到使用Unix域套接字进行通信,但在使用127.0.0.1或本机的实际IP地址或主机名时使用IP堆栈。 据说这有一个轻微的性能好处,但我从来没有真正的基准。