2010-10-13 56 views
3

我正在做一个PHP cURL文章,使用一个完整的URL(http://www.mysite.com),从一个网页到另一个网站。 (我知道这是不是做到这一点的最好办法,但我的目的,这正是我需要的)cURL是否发布到同一网站离开本地网络?

我的问题是:

将卷曲后仍然走出去在互联网上,做一个名查找并浏览路线,好像它是来自其他网站的帖子。或者将这篇文章留在服务器本地网络上?

回答

3

请求有多个部分,dns查找以及网站的获取或发布。

DNS记录通常缓存在大多数操作系统上,所以服务器不得不为其自己的外部IP执行dns查找,但这是可能的。

至于后,让我们假设一个基本的布局:

Firewall   => DMZ Apache PHP Server (www.mysite.com) 
222.xxx.xxx.123 => 192.168.0.2 

而且mysite.com解析222.xxx.xxx.123,那么你的要求会去你的防火墙的外部接口,并在反弹这不是非常公共的交通,但它不会那么低。

但是,如果你想避开的是,你可以把服务器的主机文件中的条目说

127.0.0.1 mysite.com 

(假设你控制的服务器,即不共享托管)

0

不是。帖子本身(除非你有多个接口,你的路由完全搞砸了)不会穿越互联网。您的本地主机也应该能够解析其自己的名称,但有可能会发出DNS请求来确定与该名称对应的IP地址。我希望系统上的网络堆栈实现可以防止帖子的包甚至碰到线(类似于localhost),但我不会指望它。

+0

只有当服务器有一个公共IP并且不在NAT'd DMZ – 2010-10-13 18:01:26

+0

我认为如果系统在防火墙/负载均衡器后面,那么您将使用相应的名称/ IP地址到实际(非代理)名称/地址。 – tvanfosson 2010-10-13 18:06:15

0

这取决于您的网络设置。许多站点都有一个域名,指向前端路由器或负载均衡器的IP地址,该请求将请求转发到Web服务器。

如果是这种情况,请求到您自己的站点可以使路由器往返。尽管除非您有非常不寻常的设置(例如具有多个数据中心的循环DNS),否则请求不太可能通过互联网。

您可以通过将站点FQDN关联到您的webserver/etc/hosts中的回送接口来避免往返,这也将为您节省DNS请求。