我正在尝试使用A
记录将我的域名重定向到我拥有的单独域名。此过程在 DigitalOcean Droplet 中运行良好 - 我只需在 A 记录中添加它们的 IPv4 地址,请求就会直接发送到 Droplet 所托管的任何内容。
但是,我尝试发送请求的网站是通过共享主机运营的,因此我通过 ping 我的网站获得的 IP 地址实际上是一个更广泛的 IP 地址,它并不链接到该网站,而是为使用托管该网站的服务器的任何人提供的登录页面。
当我尝试使用 GitHub Pages/Cloudflare 页面站点时,也遇到了同样的问题——只是 404 错误,因为我可能正在查询底层服务器,而不是它们所服务的网页。
我的问题分为两部分:
- 为什么这在 DigitalOcean 上有效而在 GitHub/Cloudflare 上无效?我以为 Droplets 也是共享主机,但可能不是……?
- 有没有其他方法可以进行重定向/托管页面而不需要购买整个单独的 droplet?
答案1
如何为任何共享主机设置 A 记录?
您A
为共享主机设置记录的方式与为任何其他主机设置记录的方式相同,没有区别,您使用正确的 IP 地址即可完成。
但这里存在几个问题,你可能问了错误的问题:
除非共享托管平台明确支持向现有托管计划添加其他/自定义域名,并且您已在托管计划中注册了新域名,否则平台实际上不会识别您的附加域名。
通常,共享平台需要配置为将域名与特定帐户关联,否则将无法正确响应,如显示的通用登录页面所示。我认为共享托管平台不会为您提供“正确的 IP 地址”
A
首先,您需要在您的记录中使用 CNAME ,因为他们将使用 CDN 服务和/或希望能够随意更改 IP,而不会破坏您的托管。(他们通常会建议设置CNAME
记录而不是记录A
,因为 CNAME 不能用于裸域/顶点。
此过程在 DigitalOcean Droplets 上运行良好。为什么此过程在 DigitalOcean 上有效而在 GitHub/Cloudflare 上无效?我以为 Droplets 也是共享主机,但可能不是……?
可能是因为您从未在 droplet 上配置默认登录页面。当您没有明确配置登录页面时(用 Web 服务器术语来说:“默认虚拟主机”) 第一个/唯一一个网站将成为始终显示的默认网站。
该网站不仅在使用正确的网站名称时显示,而且在使用服务器的裸 IP 地址时,或者在使用指向您服务器 IP 地址的任何随机、未知域名时,该网站也会显示。
有没有其他方法可以进行重定向/托管页面而不需要购买整个单独的 droplet?
在您现有的 droplet 上使用基于名称的虚拟主机。