外网访问内网Tomcat【无公网IP】

前言

本地搭建了一个Tomcat服务端,只能在局域网内访问,想要在外网上访问到本地的Tomcat,要如何实现呢?

只需要做简单的内网穿透,将内网端口映射到公网上,会生成相应的公网地址,在外网环境下,访问该公网地址就可以访问到内网Tomcat项目。不需要公网IP,也不需要进入到路由器设置,在本地安装个内网穿透工具就可以。

下面推荐一款内网穿透工具,免费or付费使用,均支持http/https/tcp协议,不限制流量,可以根据实际需求选择:

  • 免费套餐,有4条隧道可以用,1M带宽,随机公网地址,每24小时会变化
  • 付费套餐,至少8条隧道,2M/3M/10M,支持配置固定地址,可自定义域名….

1. 注册安装cpolar客户端
1.1 windows系统

直接下载客户端到本地,解压后双击安装包一路默认安装即可。

1.2 linux系统(支持一键自动安装脚本)
  • cpolar 安装(国内使用)
 curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,显示3.2.88.22
cpolar version
  • token认证

登录后台,查看自己的认证token,之后将token贴在命令行里

cpolar authtoken xxxxxxx
  • 简单穿透测试,正常生成公网地址
cpolar http 8080

按ctrl+c退出

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态,正常显示为active
sudo systemctl status cpolar
2. 创建隧道映射本地端口

浏览器访问:http://localhost:9200/,登录cpolar web UI管理界面。

仪表盘——隧道管理——创建隧道,创建隧道映射8080端口(Tomcat默认端口号为8080),http协议。

  • 隧道名称:自定义
  • 协议:http*
  • 本地地址:8080(输入所要映射的本地端口号,Tomcat默认端口号为8080)
  • 域名类型:免费使用选择随机,付费套餐用户可配置固定的二级子域名,或者自定义域名
  • 地区:选择合适的

在这里插入图片描述

3. 获取所生成公网地址

在仪表盘——状态——在线隧道列表,就可以获取到所映射的公网地址,在外网访问该公网地址,进而远程访问到内网的Tomcat项目,而无需公网IP。

在这里插入图片描述


需要注意的是,使用免费的cpolar所生成的公网地址为随机临时地址,24小时内会发生变化,对于日常测试开发完全足够,但是如果需要长期访问,建议为其配置固定的公网地址,同时提高带宽,实现更为流畅的访问。

发表回复