如何使我的家用 PC 成为 Web 服务器?

8 router home-networking hosting nat webserver

我在我的 PC 上运行 Apache Tomcat。我的 PC 连接到我家的路由器,路由器连接到我的 ISP。现在我想在我的 PC 上运行一个服务器,以便我的朋友可以查看我的 PC 上托管的站点。如果我访问网站https://whatismyip.com,我知道我的 IP 地址是 xx.xx.xx.xx。我猜这是我路由器的IP。如果我在浏览器中输入http://xx.xx.xx.xx,那么我的路由器会要求输入用户名和密码。这意味着我的朋友可以连接到我的路由器。我怎样才能让他们看到在我的 PC 上运行的 Tomcat 上托管的站点?

我不想使用商业主机,由于某些原因,我只想将我的 PC 用作服务器。

我的路由器的内部 IP 是 192.162.1.1,我的 PC 是 192.162.1.2。

小智 14

您需要将请求转发到网络服务器(可能是端口 80)到您的机器(.1.2)。您可以在路由器上进行配置。

  • 请注意,这在路由器上通常称为“端口转发”。一种更简单但安全性较低的方法是在路由器上使用 DMZ 来打开连接到网络服务器的所有端口。在您的网络服务器上托管多个服务(例如游戏服务器、VoIP 服务器等)时,这有时会更容易。 (2认同)

Roy*_*ico 11

您将需要做一些事情:

  • 确保更改您的路由器密码并锁定您的路由器,因为您将公开您的 IP,因此路由器的配置非常重要。下载最新固件以防止安全漏洞可能是个好主意。

  • 将您的 Web 请求转发到路由器上的本地计算机。寻找“端口转发”选项,它将强制将路由器某个端口上的所有请求转发到您机器的 IP 地址

  • 尽量确保您的内部 IP 地址保持不变。一些高级路由器可以为您的计算机的 MAC 地址保留一个特定的 IP 地址,因此请在您的路由器中进行此配置。如果您的路由器软件无法执行此操作,则您可能必须在计算机重新启动时(或以某种方式获取另一个 IP 地址)更新“端口转发”映射中的内部 IP 地址。您还可以将计算机配置为使用硬编码的内部 IP 地址,但这可能会增加额外的问题,无法在此处讨论。

  • 如果您的 ISP 为您提供动态 IP 地址,则每次更改时向您的朋友发送您的新 IP 地址可能会很麻烦,因此您可以注册动态 IP 服务 (www.dyndns.org)将有一个程序可以为您更新 dns 条目。大多数现代路由器都将此服务器内置到固件中,您可以查找它,然后不必在您的机器上运行该软件。

  • 出于安全原因,减少发送到这台机器的其他请求的数量(例如 windows 文件共享、ftp、bit Torrent 等)。

  • 端口 80 是 Web 浏览器和服务器使用的默认端口,因此当您访问站点http://www.mysite.com 时,您是在端口 80 上请求它)

  • 端口 8009 是 tomcat 使用的默认端口,因此如果您使用的是 tomcat,则可能需要将端口 80 替换为下面的端口 8009。

  • 您不必为本地计算机上的 Web 服务器进行任何其他端口配置,您可以让路由器进行映射并让 Web 服务器在您计算机上的端口 80 或 8009 上运行。

  • 例如,假设我想使用端口 12345,然后我可以配置我的路由器,以便我路由器上端口 12345 上的任何请求都将发送到我本地计算机上的端口 80(或 8009)。这允许您只需转到http://localhost/http://localhost:8009即可访问该机器上的 Web 服务器 。您网络上的其他内部机器必须通过 IP 地址(http://192.168.1 . x)访问,或者您可以编辑 yoru hosts 文件并指定名称。

  • 重要的是要知道大多数 ISP 阻止端口 80(和其他常见端口)用作 Web 服务器,因此即使您已配置好所有属性,您的朋友仍然可能无法访问您机器上的端口 80 . 这样做通常是为了让 ISP 客户为他们的“商业”产品支付更多的现金。因此,如果您真的希望您的朋友访问您的 Web 服务器,您可能必须在另一个端口上打开您的路由器。您会希望远离数量较少的端口,并且还希望避免使用配置路由器的端口。

如果以上所有操作都正确,你应该可以拥有一个稳定的 URL(例如http://myusername.dyndns.org:12345),你的朋友可以随意添加书签和使用


小智 6

您需要将 HTTP (tcp/80) 端口转发到您的电脑 (192.162.1.2)。每个路由器都略有不同,因此您需要为您的特定型号找到一些说明

如果您的路由器支持 UPnP,那么(它们是屏幕抓取 - 不使用 UPnP)您也可以根据需要自动执行此操作(更好的安全性),价格为 $$。