![无需公网 IP 即可托管网站](https://linux22.com/image/985946/%E6%97%A0%E9%9C%80%E5%85%AC%E7%BD%91%20IP%20%E5%8D%B3%E5%8F%AF%E6%89%98%E7%AE%A1%E7%BD%91%E7%AB%99.png)
我已经安装了 LAMP 堆栈。我有互联网连接。我的 ISP 为我提供了一个静态 IP,但它不是公开的。我有一个 TP-LINK 路由器。我有一个注册域名。现在,我想在我的桌面上托管我自己的域名,以便外部世界可以访问它。
编辑:
以下是贴出来的路由器配置,注册域名的时候问是只注册域名,还是还要他们的虚拟主机服务,我只答应只注册域名。
有关广域网状态如下图所示,当我点击探测按钮,它检测到 WAN 连接类型为动态 IP。所以我选择了动态 IP从下拉列表中将 DNS 服务器更改为8.8.8.8和8.8.4.4然后保存设置并重新启动路由器,但我无法以这种方式浏览网页。因此,我像以前一样更改了下图所示的设置,然后能够再次浏览。如何配置下面的设置,以便当我从连接到互联网的任何设备输入我的域名时,我可以获得从我的/var/www/html/文件夹。如何配置Apache 或其他。如果您需要帮助,请问我任何问题。我非常需要运行自己的服务器,尽管我会将其用于个人用途。提前致谢。
答案1
由于您没有可以控制的固定或动态公共地址,因此您需要 ISP 将公共地址的端口转发到您的路由器。然后再从路由器转发到您的 Web 服务器。
如果您的 ISP 路由器另一侧的公共地址(在线搜索“我的 IP 是什么?”)不是静态的(即它会定期更改),那么您将面临进一步的问题,因为您的公共地址将不断调整。但这可以通过动态 DNS 服务来纠正。
我会先和你的 ISP 联系。向他们解释,你想从你的家庭服务器向互联网公开一项 Web 服务。
另一种方法是使用反向 SSH 隧道。您从 Web 服务器连接到 Internet 上的服务器并设置反向隧道。然后,所有发送到远程服务器的 Web 请求都会通过隧道映射回您的 Web 服务器。网上有很多关于此操作的指南。
或者,您可以将文件放在互联网上的其他地方,使用网络托管。并定期发布。这可能比将您的家庭服务器放在网上更安全。
答案2
如果您只有一个静态本地 IP,那么您可以使用服务和应用程序来拥有漫游网站。
基本上,您安装一个应用程序,它将通知 dyn 您的 IP 已更改为什么,并且他们会更改他们给您的主机名。 http://dyn.com/dns/
不确定这是否适用于您当前的注册商,但您可以将您的域名转移给他们,这样就可以完美运行。
存储库中还有很多实用程序可以帮助服务提供商
apt-cache search dyndns
答案3
您的 ISP 为您提供了一个静态本地 IP 地址,您可以自己设置。除非您没有互联网连接,否则您始终拥有一个公共 IP,但该 IP 是动态的,这意味着它会定期更改。您要做的就是设置端口转发。大多数路由器都具有端口转发功能,因此这对您来说应该不是问题。由于您没有提供实际型号,因此除了检查路由器的 Web 设置外,我无法提供更多建议。如果您的路由器确实具有端口转发功能,则需要将端口 80 和 443 转发到服务器的本地 IP 地址。
接下来,你需要设置 No-IP 账户和设置 DUC(动态更新客户端)。这将为您的公共 IP 分配一个子域地址。需要 DUC,以便您在 No-IP 注册的地址可以继续引用您的公共 IP,即使它发生变化。
设置好端口转发和 No-IP 后,您现在可以将域名设置为指向 No-IP 地址。您应该能够使用屏蔽重定向或 DNS 来执行此操作。
不过,您可能会遇到问题。大多数 ISP 不希望您运行家庭 Web 服务器,并且他们通常会阻止端口 80 上的传入连接。如果是这种情况,您需要将服务器设置为在 80 以外的其他端口上运行。祝您好运。
答案4
我建议你建立一个DDNS(动态域名服务器),这可以轻松解决这个问题。
例如,您可以尝试配置一个dd客户端。