DNS名称和IP地址不能解析相同的问题

时间:2016-01-05 02:21:17

标签: amazon-ec2 dns

我已经在http://www.ipchecking.com/检查了它们,他们说它们是相同的。但当我访问他们时,他们是不同的

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 - jenkins发布

54.206.38.225/jenkins - 未找到

我的理解是主机名应解析为ip地址,因此他们应该把我带到同一个地方?

2 个答案:

答案 0 :(得分:1)

您可能看到的是基于命名的虚拟主机。

当您的浏览器发出HTTP请求时,它会包含一个标题,说明它要查找的主机。这允许服务器在单个IP地址和端口上托管多个站点。

这还可以让负载均衡器将您的流量重定向到其网络上的不同计算机进行处理。

您可以在

找到更多信息

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

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

答案 1 :(得分: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时,JeTTy会回复HTTP请求。
  2. 使用IP地址时,Apache会响应HTTP请求。
  3. Jetty知道/jenkins路径
  4. Apache 了解/jenkins路径。
  5. 所以这意味着,你有JeTTy充当Reverse_Proxy / Load_Balancer。所以连接看起来像这样:

    USER --> JeTTy --> Apache
    

    现在,您需要弄清楚如何配置JeTTy以重定向/拒绝请求。 This链接可能会有所帮助。

    但是,通常,我已经看到Web服务器将应用程序服务器作为Reverse_Proxy / Load_Balancer。因此,您可能会发现您的设置如下所示:

    USER --> Apache --> JeTTy
    

    如果是这种情况,那么弄清楚如何配置Apache以重定向/拒绝请求。