如何使我的 SpringBoot 应用程序可以通过我的公共 IP 地址访问?

Posted

技术标签:

【中文标题】如何使我的 SpringBoot 应用程序可以通过我的公共 IP 地址访问?【英文标题】:How can I make my SpringBoot app accessible with my public IP address? 【发布时间】:2020-10-14 11:31:04 【问题描述】:

我有一个 Java SpringBoot 应用程序在 localhost 上运行良好,并且可以从连接到同一 WI-FI 的任何设备访问它。但是,如果我在 application.properties 中将 server.address 设置为我的公共 IP 地址并尝试启动我的服务器,我会收到一条错误消息,指出我的 8080 端口正在使用中。 可能是什么问题呢? 我正在使用 Windows 10。

谢谢!

【问题讨论】:

这有帮助吗:***.com/questions/21083170/… ? 不幸的是,没有。我尝试更改我的端口,但在尝试使用我的公共 IP 时出现同样的错误。如果我让它默认为 localhost,我没有问题。 像 8080 这样的端口通常会被您的 ISP 阻止。尝试另一个。 尝试了其他一些,但会尝试更多。 【参考方案1】:

要使您的应用可访问,您不需要设置 server.address。可能如果你使用家用路由器,你必须尝试在路由器上为 8080 配置端口转发

【讨论】:

【参考方案2】:

首先,您需要确保完成以下所有操作:

    在本地 IP 上启动 spring boot - 如果您使用的是 windows 打开 cmd 并键入以下内容:IP 配置并检查您的 ip server: port: 8082 address: 10.0.0.x (或 192.x.x.x)类似的东西 确保对传入请求禁用防火墙。如果您再次使用 Windows,请转到防火墙管理并禁用。 通常当您在浏览器的地址栏中键入本地 IP 时,转到您的 ISP 管理(路由器管理),它会从那里进入您的路由器登录,找到一个选项,上面写着端口转发并将其转发到您的端口(在这种情况下- 8082) 并选择您的计算机作为该端口的所有传入请求的目的地。 最后只需从您的网络以外的外部计算机登录以进行测试,请执行以下操作:查找您的公共 IP(只需 google whatsmyIP) a.测试一些类似这样的获取端点(publicip:8082/users)

【讨论】:

以上是关于如何使我的 SpringBoot 应用程序可以通过我的公共 IP 地址访问?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过覆盖 BackButton 使我的 PhoneGap android 应用程序 onPause?

如何使我的程序与 DEP 兼容?

如何使我的多对多查询更快?

如何使我的应用程序对打开 PDF 文件的隐式意图可见?

如何使我的 Android 应用符合“后台位置政策”

如何使我的应用程序单例应用程序? [复制]