如何允许远程用户连接到我的 PC 上运行的 Web 应用程序?

Rob*_*ari 6 networking browser localhost web-application

我在 Eclipse 中创建了一个 Web 应用程序,并且 DB2 数据库服务器正在我的 PC 上运行。我可以通过地址http://localhost:8080/LimsWeb访问 web 应用程序

我使用 Team Viewer 软件建立远程桌面连接。

我的朋友能否以某种方式连接到我的电脑,以便当他在浏览器中输入上述 URL 时,他将能够获取应用程序的页面?

我能够通过连接远程桌面模式来做到这一点。但在那种情况下,我的朋友只能在我的 PC 上和 Team Viewer 提供的窗口中使用我创建的应用程序。我想对其进行配置,以便他可以在自己的计算机上运行应用程序,从他自己的浏览器调用给定的 URL。

rob*_*rob 4

从同一 LAN 连接

如果您的朋友与您位于同一本地网络,则非常简单:确保您计算机上的所有软件防火墙都配置为接受来自端口 8080 上的远程计算机的连接,然后让您的朋友将 URL 中的“localhost”替换为您的 IP地址或主机名 - 例如,http://192.168.1.4:8080/LimsWeb(假设这是您的 IP 地址)或http://lims-pc:8080/LimsWeb

通过互联网连接

但假设你的朋友在其他地方,并且互联网介于你和他之间……那么你就必须做一些额外的事情。您必须像按照 LAN 说明那样配置防火墙软件,但还需要进行一些额外的网络配置。

选项 1:VPN

如果您只希望您的朋友能够连接到您 PC 上运行的网络服务,最简单的解决方案可能是设置 VPN。一些无线路由器内置 VPN 支持(对于其他一些无线路由器,您可以安装支持 VPN 的 DD-WRT 版本),但您也可以使用Hamachi或 OpenVPN 等。

选项 2:端口转发/DMZ

如果您对路由器拥有管理权限(或认识有此权限的人),您还可以配置端口转发或(更可怕的)DMZ,以允许外部计算机直接连接到您的 PC。正如 alemjerus 提到的,您还可以设置动态 DNS 服务或其他 DNS 提供商(例如 dyndns.org、no-ip.com)来指向您的 Internet IP,这样您的朋友就可以更轻松地连接,而无需记住您的 IP 地址。 IP地址。但就我个人而言,我不建议走这条路,尤其是如果您碰巧处于公司环境中。

使用正确的主机名/IP 地址

但这只是一半。正如您可能已经猜到的那样,您的朋友将无法通过地址http://localhost:8080/LimsWeb连接到您的计算机,因为“localhost”正是本地计算机。一旦您确定了适当的机制使您的计算机对他可见,他将不得不使用您的 LAN IP 地址或主机名(如果您使用 VPN)或您在 Internet 上的公共 IP 地址或主机名(如果您使用端口转发)或非军事区)。