![将域名与本地IP地址映射?](https://linux22.com/image/1564669/%E5%B0%86%E5%9F%9F%E5%90%8D%E4%B8%8E%E6%9C%AC%E5%9C%B0IP%E5%9C%B0%E5%9D%80%E6%98%A0%E5%B0%84%EF%BC%9F.png)
在本地机器上,我可以将我的机器 IP 地址与某些域进行映射,如下所示:
127.0.0.1 testwebsite.com
我的问题是,一旦我从域名提供商那里获得一个域名(比如 testwebsite.com),我可以对他们说“将其映射到我的 Web 应用程序部署到的机器 IP 地址”还是必须将其部署在他们的环境中?
另外,我是否必须在域名注册时提供此映射,还是也可以稍后提供?
答案1
诸如 example.com 之类的域名具有各种记录,例如 A 记录和 MX 记录。
这些记录将流量重定向到某个位置。该位置在哪里并不重要。
如果您设置 example.com 的 A 记录以指向您的公共 IP 地址(您的 ISP 提供的 IP 地址),那么任何进入 example.com 的人都可以找到其到您的调制解调器的路由。
然后由调制解调器来告诉流量下一步该去哪里。如果您的调制解调器不是路由器,调制解调器会简单地将所有内容重定向到其后面的路由器。然后路由器需要有一个端口映射来告诉流量需要去哪里。
由于网站使用 HTTP 流量,默认情况下设置为端口 80,因此您需要将端口 80 转发到 Web 服务器所在的本地 IP 地址。如果您在自己的计算机上托管 Web 服务器,则将端口 80 设置为本地计算机的 IP 地址。
也就是说,在您的 IP 地址发生变化之前,此方法将一直有效。如果发生这种情况,您需要更新域的 A 记录以指向新的 IP 地址。有些服务允许您这样做,但自带域通常是一项高级功能。此外,在家中使用自己的网络服务器意味着您将失去互联网速度。
如果您想避免这些问题,那么购买廉价的网站托管服务可能会更便宜。大多数情况下,它们还提供免费域名。
话虽如此,回答你的问题:
我的问题是,一旦我从域名提供商那里获得域名(例如 testWebsite.com),我可以让他们将其映射到部署 Web 应用程序的我的机器 IP 地址,还是必须将其部署在他们的环境中?
您可以将其映射到任何东西,包括您自己的 IP 地址,只要您可以控制 DNS 记录(如果您选择网络托管 + 域名,则需要确保这一点。如果您只选择域名,它始终会提供 DNS 管理。)
另外,我是否必须在域名注册时提供此映射,还是也可以稍后再提供?
不,您不必在注册时提供此映射。除非您提供,否则域名不会转发或更可能转发到注册方的网站。您可以随时将其更改为您想要的任何内容。请记住,更改 DNS 需要时间。您可以在提供商的位置立即更改它,但其他 DNS 服务器必须查询并更新记录。鉴于全球有超过一百万台 DNS 服务器,您的国家/地区可能需要长达一小时才能处理更改,而全球范围内可能需要长达 48 小时才能完成更改。
答案2
1:您必须提供部署应用程序的服务器的 IP。服务器的位置并不重要。它可能在您家中,也可能位于另一个国家的数据中心。(一些数据中心提供商会为您处理 DNS 事宜)
2:注册域名的具体流程显然取决于所选的域名注册商。但您不需要一个静态 IP 地址,因为有方法可以动态更新 DNS 条目的 IP。