2016-01-05 70 views
0

我檢查過它:http://www.ipchecking.com/他們說他們是一樣的。但當我訪問他們每個人,他們是不同的DNS名稱和IP地址不能解析相同

ec2-54-206-38-225.ap-southeast-2.compute.amazonaws.com - 404錯誤訪問/。原因:未找到

54.206.38.225 - 返回apache的默認頁面

ec2-54-206-38-225.ap-southeast-2.compute.amazonaws.com/jenkins - 詹金斯launchs

54.206.38.225/jenkins - 找不到

我的理解是,主機名應該解析爲IP地址,因此他們應該帶我到同一個地方?

回答

1

您可能看到的是由於基於命名的虛擬主機。

當瀏覽器發出HTTP請求時,它會包含一個標題,表明它正在尋找哪個主機。這允許服務器在單個IP地址和端口上託管多個站點。

這也可以允許負載平衡器將您的流量重定向到其網絡中的不同機器進行處理。

您可以在

https://en.wikipedia.org/wiki/Virtual_hosting

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

+0

但我沒有把請求的名字?上面的IP地址和主機名都是由aws提供的。 – Calum

0

入住此找到更多的信息:

# curl -I -s http://ec2-54-206-38-225.ap-southeast-2.compute.amazonaws.com | head -3 
HTTP/1.1 404 Not Found 
Date: Tue, 05 Jan 2016 06:15:49 GMT 
Server: Jetty(winstone-2.9) 

# curl -I -s http://54.206.38.225 | head -3 
HTTP/1.1 200 OK 
Date: Tue, 05 Jan 2016 06:16:00 GMT 
Server: Apache/2.4.7 (Ubuntu) 

# curl -I -s http://ec2-54-206-38-225.ap-southeast-2.compute.amazonaws.com/jenkins | head -3 
HTTP/1.1 302 Found 
Date: Tue, 05 Jan 2016 06:16:18 GMT 
Server: Jetty(winstone-2.9) 

# curl -I -s http://54.206.38.225/jenkins | head -3 
HTTP/1.1 404 Not Found 
Date: Tue, 05 Jan 2016 06:16:28 GMT 
Server: Apache/2.4.7 (Ubuntu) 

從上面的命令(查看緊密的HTTP響應代碼),

  1. 使用FQDN時,HTTP請求由JeTTy響應。
  2. 使用IP地址時,HTTP請求由Apache響應。
  3. 碼頭意識到/jenkins路徑
  4. Apache是​​不知道路徑/jenkins的。

所以這意味着你有JeTTy充當Reverse_Proxy/Load_Balancer。因此,連接如下所示:

USER --> JeTTy --> Apache 

現在,您需要弄清楚JeTTy如何配置爲重定向/拒絕請求。 This鏈接可能會有幫助。

但是,通常,我已經看到一個應用程序服務器被Web服務器作爲Reverse_Proxy/Load_Balancer前端。所以,你可能會發現,你的設置看起來象下面這樣:

USER --> Apache --> JeTTy 

如果是這樣,然後找出Apache是​​如何配置的重定向/拒絕請求的情況。