你们看到的实际上不是与名称解析。
DNS无法更改Web浏览器地址栏中显示的内容 - DNS和Web浏览器根本不会以使这种行为成为可能的方式进行交互。您的网址无法通过与DNS相关的任何内容“解析为”这个新值,因为正确或错误配置的DNS不会影响其自身显示的内容。
导航到IP地址具有相同影响的事实支持了这一断言。
你所看到的与DNS或Route 53甚至EC2或VPC无关。无论出于何种原因,您的Web服务器都被配置为将传入的请求与任何其他主机名重定向到您随后在地址栏中看到的主机名(这是您不喜欢的名称)。
您应该在您的Web服务器日志中注意到这一点。它将在初始请求中发出301或302重定向。
您还应该能够使用curl
命令行实用程序自行验证。在这里,访问为“www.example.com”的服务器将重定向浏览器以使用其首选地址“example.com”。 (主机名和地址被消毒,但输出是否则未修饰。)
$ curl -v www.example.com
* Rebuilt URL to: www.example.com/
* Hostname was NOT found in DNS cache
* Trying 203.0.113.139...
* Connected to www.example.com (203.0.113.139) port 80 (#0)
输出的下一个块是发送到web服务器的请求。
> GET/HTTP/1.1
> User-Agent: curl/7.35.0
> Host: www.example.com
> Accept: */*
>
来自Web服务器的http响应包含重定向。
< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: http://example.com/
< Connection: close
<
* Closing connection 0
如果我们使用的浏览器,而不是一个命令行工具,这会导致地址栏更改为新值,并建立到Web服务器的新连接(这实际上可能是同一个,或者不同的......在这种情况下,它是一样的)。
尽管我在我的浏览器中输入了http://www.example.com
,但它现在只会显示http://example.com/
。如果我输入IP地址,如果我的服务器配置为将所有内容重定向到一个主机名,那么情况也会发生同样的情况。就我而言,它是故意配置做别的。
上面应该说明你实际上没有DNS问题,并解释导致这种情况发生的机制(因为你可能会发现这是有用的,将来有意做,因为我的Web服务器 - - 任何www。*请求都会被剥离并在没有www的情况下被重写)。
问题出在您的Web服务器上,告诉浏览器使用不同的主机名。如何解决这个问题将取决于你运行的Web服务器以及它认为重定向是必要的。
你是什么意思“正在解决?”你是说在浏览器中的地址栏从所需的地址变成通用的吗?还是其他的东西? –
如果我将xyz.co输入到地址栏中,它会在显示页面内容时变成ec2-11-22-33-44.ap-southeast-2.compute.amazonaws.com。如果我直接输入IP地址,情况同样适用。我希望它坚持xyz.co。 –