如何在没有静态 IP 的情况下在 PC 上运行 Web 服务器

如何在没有静态 IP 的情况下在 PC 上运行 Web 服务器

我有两个相关的问题:

1- 当我在类似这样的网站上看到我的全球 IP 地址时https://whatismyipaddress.com/,例如 XXXX,我认为这不仅是我的,而且许多连接到我的 ISP 的人也可能将此 IP 视为他们的全局 IP 地址。这是正确的吗?或者这个 IP 对我来说是唯一的,并且它只会在将来发生变化(例如在我下次连接时)?

2- 根据第一个问题(全局 IP 不仅适用于我),我想在我的 PC 上运行 Web 服务器,并通过具有静态 IP 的服务器通过互联网访问它,而无需使用静态 IP。我想我应该能够做这样的事情,但我不知道怎么做?

我正在想的是:https://i.stack.imgur.com/rDovQ.jpg

1- 我的 PC 使用套接字(类似 VPN)连接到服务器。 PC_SOCKET 连接到 SERVER_SOCKET。

2- 客户端请求一个 URL,服务器使用 SERVER_SOCKET(nginx proxy_pass)将其重定向到我的电脑(PC_SOCKET)

3- PC_SOCKET 将请求的 URL 提供给我的 Web 服务器 (nginx) 并获取响应

4- PC_SOCKET 将响应发送给 SERVER_SOCKET

5- SERVER_SOCKET 向 nginx 发出响应

6-客户端收到响应

抱歉,我把这个简单的问题问得复杂了。我唯一需要的是我应该如何在服务器和我的电脑之间重定向请求。

答案1

如果你的公共 IP 地址与其他人共享,则 ISP 正在使用 运营商级 NAT避免这种情况的最佳方法是向 ISP 索取一个静态 IP 地址(这可能是一个付费选项)。

如果你的公共 IP 地址未共享,则可以使用 动态 DNS 不要为您的网站使用静态 IP 地址,再加上 转发端口 从路由器到服务器端口的计算机。这样其他人就可以通过名称访问您的计算机,而不是通过可能每天都会更改的 IP 地址。

一些路由器支持一些特定的动态 DNS 供应商,您可以检查您的路由器支持哪一个,然后检查免费帐户是否足以满足您的需求。

如果你的路由器不支持动态 DNS,或者你不喜欢它支持的 DNS,你可以使用动态 DNS 提供商,例如 迪努。其免费帐户还提供了一个免费程序,该程序作为您计算机上的系统服务运行,并负责在 Dynu DNS 服务器上保持您的 IP 地址更新。

答案2

您在 whatsmyipaddress 上看到的 IP 通常是您的 IP,而不是多个客户端共享的 IP。然后您可以使用 no-ip.com 等动态 DNS 服务为您的地址设置静态名称。

完成后,您必须配置路由器以将 http/https 请求重定向到您的家庭服务器。

答案3

实际上gronostag 评论我找到了我所寻找的东西,那就是https://github.com/fatedier/frp。我解决了我的问题。

相关内容