如何使我的 IP 可公开访问,从而使我的本地 Tomcat 服务器公开?

如何使我的 IP 可公开访问,从而使我的本地 Tomcat 服务器公开?

我正在我的台式电脑上工作。在这台机器上,我还运行TomcatJava 开发,以便我可以访问我的本地地址:

 http://192.168.1.1:8080/myapp

现在我去whatsmyip.com得到我的IP假设它是:119.56.1.78

现在我想要的是:我转到另一台 PC(不在我的 LAN 上)或世界各地任何连接到 Internet 的 PC 并输入以下地址:

http:// 119.56.1.78:8080/myapp

这应该向我显示我可以从本地访问的相同页面http:// 192.168.1.1:8080/myapp

这可能吗?

答案1

是的,这是可能的。它被称为“转发端口”

119.56.1.78 - 是您的公共IP地址.
192.168.1.1 - 是您的私有 IP地址局域网

要了解如何进行端口转发,请阅读这个非常好且简短的教程,其中包含许多精美的图片:
如何转发路由器上的端口

答案2

8080 port您需要通过路由器转发。

如果您的IP更改(您有一个动态IP或静态的IP,这取决于您ISP),您可以从中获取主机名动态网络并设置你的路由器,当它发生变化时更新dyndnsIP。这将允许你像这样访问你的应用程序:

hostname.dynsns.org/your_app

或者,您可以租用托管服务器和域名。

答案3

如果是为了短期,则可以使用localtunnel(类似ngrok)。

只需按照以下步骤操作即可(需要:NodeJS):

  1. localtunnel通过运行安装

    npm install -g localtunnel
    
  2. 假设您的应用正在运行http://localhost:8080/,然后运行

    lt --port 8080
    

    它将创建一个具有随机名称的公共 URL 域,例如

注意:您也可以创建自定义 URL(例如:lt --port 4200 -s "sangeeth"-s表示子域名)。

好了!完成了!

答案4

  1. 下载恩格罗克
  2. 运行您的服务。
  3. 假设你的 tomcat 服务器监听 8080 端口,运行恩格罗克在命令行中使用以下命令:

ngrok.exe http 8080

恩格罗克开始端口转发,如下所示:

在此处输入图片描述

现在,客户端可以使用 url 运行请求http://a9bb8562.ngrok.io/myapp

相关内容