当我开发并且已经拥有一个实时数据库时,我将我的项目连接到它。
如果我将这些设置用于服务器,它是否足够聪明以确定这是本地主机而不是通过网络设置连接到它自己的位置,从而浪费带宽?
或者我应该始终将其更改为
答案 0 :(得分:0)
数据库最好只监听localhost连接(如果是专用数据库,则为LAN内部IP),因此无论如何都必须使用localhost
连接到它。这是一种使您的服务更安全的简单方法。
如果仍然使用服务器的外部名称或IP,如果在服务器本身(而不是在NAT,防火墙或负载平衡器设备上)配置,则不会浪费带宽 - 主机操作系统将实现此流量通过环回网络设备(主机操作系统内部流量)。如果在网络设备上配置了公共地址,则配置将导致LAN上出现额外的内部网络流量。
答案 1 :(得分:0)
TL; DR如果您的DNS正确,那将是明智的。
如果您使用" localhost" mysql库实际上会尝试查找本地unix套接字而不使用任何TCP连接。如果要在localhost上使用TCP,则必须使用127.0.0.1
您会使用任何计量主机流量吗?嗯,这是另一个问题。如果名称的IP地址" www.servername.com"与您的任何以太网设备相同,那么流量就不会离开您的机器。但是,在某些云托管设置中,情况并非如此,您的流量可能会将您的计算机留在最近的路由器上,然后再返回。
dig www.servername.com
....
;; ANSWER SECTION:
www.servername.com. 1799 IN A 123.456.78.90
/sbin/ifconfig
eth0 Link encap:Ethernet HWaddr ....
inet addr:123.456.78.90 ... <--- same, so OS will redirect to lo
您可以通过编辑GNU / Linux发行版上的/ etc / hosts文件来影响为主机返回的IP(我认为所有POSIX发行版都不确定)。您可以输入:
127.0.0.1 www.servername.com
在尝试连接到www.servername.com时强制服务器使用本地连接。但是,并不是说这仍然会使用TCP连接,而不是像#34; localhost&#34;的设置那样使用Unix套接字。会。