如何从外部访问我的主机?

如何从外部访问我的主机?

本地服务器能否通过 Mac 为互联网提供服务?我有 Apache,想通过电子邮件邀请用户查看我根文件夹中编码的网站。我在 YouTube 上看到一个教程,建议这样做,只是他们使用的互联网提供商不是我的。我使用的是 Verizon。

答案1

这是一个普遍的问题,已经提供了许多解决方案。如果您已经可以在本地访问您的站点,那么问题可能与网络有关(“如何从外部访问我的主机?”),而不是与系统管理有关的问题(“如何设置我的 Apache 服务器?”)。

  • 如果您的主机具有公共 IPv4,则您可以通过该公共 IPv4 从外部访问它(假设客户端也启用了 IPv4)
  • 如果您的主机具有公共 IPv6,则您可以通过该公共 IPv6 从外部访问它(假设客户端也启用了 IPv6)
  • 在这两种情况下,请确保没有防火墙(内部或上游)阻止连接
  • 在 IPv4 中,如果您位于 NAT 或 CG-NAT 后面,则必须从面向公众的路由器“端口转发”到本地主机。

由于某些原因,您可能无法获取分配给主机的公共 IP 地址或进行端口转发,因为:

  • 您位于 CG-NAT 后面,并且您的 ISP 不允许在您家外的路由器上进行端口转发
  • 你的 ISP 提供的路由器有公网 IP,但不能进行端口转发,这种情况下,你可以更换为自己的路由器。
  • 有时,您的 ISP 条款禁止自托管。

在这种情况下,您必须依赖外部服务器:

  • 您可以使用托管隧道解决方案,如 CloudFlare Tunnels、Ngrock 等。如果您不想依赖第三方,您甚至可以在远程服务器(裸机或 VPS)上安装此类服务。看这里以获取托管或自托管隧道的列表。
  • 远程服务器(裸机或 VPS)可用作“远程 NAT”,或更常见的全隧道 VPN。一般来说,VPN 是一种用于在另一个网络(Internet)上创建主机虚拟网络的技术。更具体(但更流行)的用例是将此虚拟网络中的一台主机设置为“远程”网关/路由器/NAT。关键是这个网关/路由器实际上是一个 NAT,这就是为什么全隧道 VPN 会让您使用另一个 IP 地址在线,因此它们也可以进行端口转发。

答案2

假设你可以通过 Verizon 接入热点,你可以使用恩格罗克为您本地的网站提供一个公共地址。

相关内容