如何使我的 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 地址访问?的主要内容,如果未能解决你的问题,请参考以下文章