没有公网 IP 的情况下,我有什么办法可以让我的 Web 服务器接收外部请求并通过它托管我的网站吗?我根本没有公网 IP 地址,无论是静态的还是动态的。我不太清楚这个过程,但我的兄弟说如果没有公网 IP 就无法实现。你没有办法实现。是真的吗?
我读过 SuperUser 上的一些回答,其中说有一种方法可以让你始终使用一些服务(如免费动态 DNS)保持你的公共 IP 指向。但是,这也说得过去public
。请消除这种混乱,并澄清这个概念。谢谢。
答案1
有没有办法,在没有公共 IP 的情况下,我可以让我的 Web 服务器提供外部请求并通过它托管我的网站?
不是,只要“外部请求”是指“来自互联网的请求”即可。
如果您的意思是希望同一网络(例如,您家里或办公室)上的计算机访问您的 Web 服务器,那么可以,但只有这些计算机可以使用您的 Web 服务器,互联网上的计算机则不行(这需要公共 IP)。您可以使用服务器的专用网络 IP(例如192.168.1.xxx
)来访问该 Web 服务器(您可以在浏览器栏中输入此 IP 地址)。
我没有公共 IP 地址[.]
如果您可以访问互联网,则您拥有公共 IP。您在互联网上撰写了这篇文章。如果您可以像撰写文章的计算机一样连接您的服务器,那么您将拥有可以(潜在地)使用的该服务器的公共 IP。
动态 DNS
互联网上的所有计算机都有公共 IP 地址,例如172.217.17.131
(Google)。计算机使用这些地址相互通信。
你可以把这些数字想象成电话号码。你可以拨打 1-903-234-5678 给你的朋友打电话,但这很难记住。172.217.17.131
在浏览器中输入以访问 Google 也很难记住。
想想现代手机,除了号码,我们还有什么?我们有联系人。我们不用拨打 1-903-234-5678 来呼叫“Leroy Jenkins”,只需按一下联系按钮,系统就会为我们拨打电话号码。
虽然不完全相同,但很容易以类似的方式看待 DNS。DNS 是一种确保当您google.com
在搜索栏中输入内容时,可以返回存储在 中的信息的方法172.217.17.131
。
问题是,IP 地址(电话号码)有时会发生变化。对于家庭互联网连接来说尤其如此。动态 DNS 服务会自动“更新”与域名(如google.com
)关联的 IP 地址。
用电话来打比方,动态 DNS 服务就像您手机上的一个应用程序,可以在 Leroy 每次更改号码时自动更新他的联系信息(因此,当您按下“呼叫联系人”按钮时,您总是会得到他当前的号码,而不是他的旧号码)。