2010-10-13 131 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請求。