服务器 IP 记录不起作用

服务器 IP 记录不起作用

大家好,我为我的 WordPress 网站(例如 example.com)使用了常规的 Host 服务。我还在服务器上部署了一个 Flask Web 应用程序,假设其 IP 为 1.1.1.1。

我想在我的域名上创建一个“A 记录”,比如 app.example.com,它指向 1.1.1.1 上的 Web 应用程序。我已经使用 cPanel 创建了“A 记录”,并且还为服务器创建了 PTR 记录。当我检查 PTR 和 A 记录时没有任何错误:FCrDNS 测试结果:1.1.1.1 解析为 app.example.com;app.example.com 解析为 1.1.1.1。;

...但它不起作用(24 小时后)。当您输入 app.example.com 时,它显示“Apache2 Ubuntu 默认页面”而不是应用程序,当您输入 1.1.1.1 时。它正确显示了应用程序,但在地址栏中仍然显示 IP 而不是地址。提前感谢您的帮助

答案1

不,听起来 DNS 记录工作正常:它解析为服务器的 IP 地址。这首先就是 DNS 记录所做的一切。其余部分不是由 DNS 完成的。

什么是页面服务http://app.example.com 完全取决于您的网络服务器的配置 - 它必须识别该域名,也就是说,Apache 配置必须具有相应的“VirtualHost”块以ServerName app.example.com匹配收到的 URL。

最后,浏览器地址栏中显示的内容与 DNS 无关,尤其是与反向 DNS 无关(实际上您甚至不需要 rDNS)。如果您访问http://app.example.com,Web 浏览器将显示http://app.example.com,即您访问的内容。

因此,如果你因为某种原因看到网络浏览器显示http://1.1.1.1,而你肯定没有输入该地址,那么唯一的另一种可能性就是网络服务器将您重定向到那里。也就是说,它收到了对 http://app.example.com 的原始请求,并使用 HTTP 30x 重定向到新 URL 进行响应。

您可以使用以下方法进行验证:

  • 命令行:运行curl -i http://app.example.com后,它会显示服务器的响应。它是否以“HTTP/1.1 302 Found”或其他 30x 代码开头?它是否包含标Location:头?

  • 浏览器:打开一个空白标签页,打开开发者工具窗口(Chrome 中按 F12),切换到“网络”部分,选中“保留日志”框。在标签页中访问 http://app.example.com,查看开发者工具中显示的请求/响应。

相关内容