如何从公共互联网访问我的自托管 Web 应用程序?

问题描述 投票:0回答:1

背景

我有一个网络应用程序,我一直在本地构建和测试。我已将其部署到我拥有的服务器上,该服务器在我家中运行。服务器通过以太网连接到我的家庭路由器。我为普通住宅计划支付 Xfinity 费用,其中我有一个公共 IP 地址。在我安装了 Proxmox 的服务器上,我创建了虚拟机,部署了我的代码,它运行了,我可以通过 LAN ip 10.0.0.26: 查看我的 Web 应用程序。太好了。

问题 我需要能够从公共互联网访问此应用程序。我怎样才能实现这个目标?

我目前的想法和问题 (这是我需要帮助的地方,请原谅我的无知。)

  1. 在论坛研究期间,我读到可以设置转发,以便将前往我的 IP 地址的公共流量转发到我的本地网络中的应用程序地址/端口。然而人们声称这可能很危险,因为一个错误可能会将我锁在外面并堵塞我的系统。有些人还提到我会失去家庭网络中的互联网访问权限。

  2. 云提供商可以提供帮助吗?我不知道这是否可能,但我可以使用 AWS 服务购买弹性 IP 或具有 Route 53 的域,然后我可以进入 Proxmox 以便与在我的家庭服务器上运行的这些虚拟机一起使用吗?

  3. 是否有像 NORD 或其他服务这样的服务,我可以用它来购买额外的 IP 地址?这对我的用例有用吗?

  4. 这在 Proxmox 中设置起来容易吗?我只是不知道我在做什么吗?如果是这样,请给我指出正确的方向。

限制

  • 我需要能够在家里保持正常的互联网访问。笔记本电脑、手机、其他设备等
  • 我不需要一个有风险的解决方案,如果我犯了一个错误,我就会把自己锁在外面。
  • 如果有必要,我愿意支付服务费用,但希望不要太贵,也许每月最多 50 美元。

任何建议、方向、文档、YouTube 视频将不胜感激。谢谢!

我一直在浏览大量的论坛和文档。我不知道该尝试什么。我不知道什么会真正起作用。我觉得这不是一个罕见的问题,但我似乎找不到直接的答案。

web-applications self-hosting
1个回答
0
投票

端口转发

端口转发是完成您想要的任务的最简单、最直接的解决方案。您只需将应用程序托管在服务器上的特定端口即可。然后,您将路由器配置为将端口(通常是相同的端口,但根据路由器,您可以选择不同的端口)转发到服务器。然后您可以使用外部 IP 地址和端口的组合来访问您的站点。

云提供商

您可以选择将您的应用程序托管在云中。 AWSAzure 都有免费托管选项。或者您可以在云中托管一个反向代理。或者购买一个域名指向你家的外部IP。

购买域名并不能免除您将路由器中的端口转发到正确机器的需要。它所做的只是向 DNS 提供商注册一个主机名,如果有人尝试访问您的主机名,则应解析为您的 IP 地址。不过它很方便,因为您在外部访问时不需要记住您的 IP。如果您家的 IP 发生变化,您只需使用购买 DNS 的位置进行更新,无需更改任何其他配置。

是否有像 NORD 或其他服务这样的服务,我可以用它来购买额外的 IP 地址?这对我的用例有用吗?

您的 ISP 分配您的外部 IP 地址。不,添加更多 IP 没有帮助。即使有办法获得更多 IP,您仍然需要转发端口以允许流量进入您的服务器,除非您在计算机上添加额外的 NIC 并且没有 NAT 层您和 ISP 之间。

这在 Proxmox 中设置起来容易吗?我只是不知道我在做什么吗?

除了确保您正在侦听正确的 IP 并且它正在侦听的端口与您让路由器将流量转发到的端口相匹配之外,在 Proxmox 中实际上没有什么可做的。

我需要能够在家里保持正常的互联网访问。笔记本电脑、手机、其他设备等

您可以转发端口而不影响任何其他网络流量。

我不需要一个有风险的解决方案,如果我犯了错误,我就会把自己锁在外面。

太棒了,端口转发很简单,而且有很多指南。

如果有必要,我愿意支付服务费用,但希望不要太贵,也许每月最多 50 美元。

您无需支付任何费用即可起床和离开。不过,如果您不想在自己家里托管它,那么 50 美元对于支付云托管费用来说已经是很大了。

© www.soinside.com 2019 - 2024. All rights reserved.