![具有弹性 IP 和 Route53 DNS 的 EC2 - 域解析为不正确的公共 DNS](https://linux22.com/image/701732/%E5%85%B7%E6%9C%89%E5%BC%B9%E6%80%A7%20IP%20%E5%92%8C%20Route53%20DNS%20%E7%9A%84%20EC2%20-%20%E5%9F%9F%E8%A7%A3%E6%9E%90%E4%B8%BA%E4%B8%8D%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%85%AC%E5%85%B1%20DNS.png)
我是新手,如果我可以添加更多详细信息或者遗漏了一些明显的内容,请告诉我。
我在 EC2 上启动并运行了我的网站,并且能够使用公共 DNS 查看它。
我使用以下方式将我的域名指向实例本指南。我为实例创建了一个弹性 IP,我使用 route53 创建了四个 NS 记录和两个 A 名称记录(www、非 www)。我将这些 NS 记录传递给了我的域名提供商。
域名似乎已传播 - 当我转到 URL 时,我被重定向到一个非常旧的(两次重启之前)公共实例 DNS 地址,而不是具有弹性 IP 的新地址。我可以使用新域名通过 SSH 进入实例,但无法从浏览器访问它。我检查了我的安全组,并将其HTTP/80
设置为允许所有流量。
我尝试直接访问 EIP(重定向)、ping EIP(超时)、直接访问公共 DNS、ping 公共 DNS,我尝试停止并启动实例并重复所有前面的步骤,并且我检查安全组中的端口 80 是否打开,但域仍然将我重定向到旧的公共 DNS。
ERR_CONNECTION_TIMED_OUT
当我 (301) 重定向到旧 URL 后,Chrome 浏览器中出现错误。
不知道接下来要去哪里。
答案1
研究该问题后,在域上执行 nslookup 得到以下结果:
Name: www.racheldoesfestivals.com
Address: 34.197.64.48
这是属于 AWS 的 IP,因此我假设它指向正确的地方。我会检查它是否与 EIP 匹配,但根据我下面看到的内容,我假设它是正确的。
针对该 IP 使用 curl 得到以下结果:
[root@server nginx]# curl -v 34.197.64.48
* Connected to 34.197.64.48 (34.197.64.48) port 80 (#0)
> GET / HTTP/1.1
> Host: 34.197.64.48
> User-Agent: curl/7.47.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Fri, 31 Mar 2017 14:04:00 GMT
< Server: Apache/2.4.25 (Amazon) PHP/5.6.30
< X-Powered-By: PHP/5.6.30
< X-Pingback: http://ec2-54-211-187-124.compute-1.amazonaws.com/xmlrpc.php
< Location: http://ec2-54-211-187-124.compute-1.amazonaws.com/
< Content-Length: 1
< Content-Type: text/html; charset=UTF-8
这表明我确实正在访问一个在 上运行的网络服务器34.197.64.48
,但我访问的网络服务器认为我应该在其他地方,并将我转发到http://ec2-54-211-187-124.compute-1.amazonaws.com/
(这与 Route53 无关)。
这意味着 Web 服务器上的某个地方34.197.64.48
存在触发重定向的代码。该代码可能位于 Web 服务器 (apache) 配置文件中,也可能位于 .htaccess 文件中,也可能位于应用程序本身中。
许多网站在设置阶段都会要求您输入“主要”网站地址,如果您以任何其他方式访问,都会被重定向到该地址。过去,尝试使用 Wordpress 解决此问题(如果在初始设置时配置错误),您需要修改数据库中的设置,然后才能访问该网站而不会被重定向。
我可以确认我们正在访问一个正常运行的网络服务器并且 DNS 正在运行,因为运行以下命令:
curl -vH "Host: ec2-54-211-187-124.compute-1.amazonaws.com" 34.197.64.48
这会诱使网络服务器认为我正在访问该网站并返回以下 html:
RachelDoesFestivals - Guides, musings, media, and other nonsense from a festival obsessionist
如果你有耐心,你也许可以通过以下方式进入网站:
http://www.racheldoesfestivals.com/wp-login.php
然后在设置->常规中修复网站地址