背景:要将本地运行的FineReport项目通过阿里云服务器访问,FineReport貌似没有linux版,所以直接使用ngrok内网穿透。
(不止是帆软项目,任何需要内网穿透的都可以用,我只是通过这次这个需求了解到,恰巧网上没有合适的教程)
Ngrok是一个便捷的工具,可以通过在公网暴露本地服务,本质就是在已经搭建好的项目(已经可以在浏览器打开)的操作系统上,系在ngrok,把这个网址暴露了,所有人都可以冯访问,然后我把这个网址放到了阿里云服务的项目里。
1.下载并安装Ngrok
如果还没有安装Ngrok,请先下载并安装:
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
2.获取认证令牌(authtoken)
要使用ngrok,需要先注册一个账号并获取认证令牌(authtoken)。以下是步骤:
①. 注册ngrok账号
访问ngrok官网并注册一个账号。
登录到你的ngrok账号,在"Get Started"页面获取你的认证令牌。
②. 配置ngrok认证令牌
将获取的认证令牌配置到ngrok中:
./ngrok authtoken YOUR_AUTHTOKEN
将 YOUR_AUTHTOKEN
替换为你从ngrok官网获取的认证令牌。
3.启动Ngrok
将本地的8075端口(你要暴露的网址的端口)暴露到公网:
./ngrok http 8075
如果您希望将日志保存到文件中,可以使用 -log
参数指定一个文件名:
./ngrok http 8000 -log=ngrok.log
这样,ngrok 的日志将会被保存到名为 ngrok.log
的文件中。
启动后,Ngrok会显示一个公网URL,如:
Forwarding http://1234abcd.ngrok.io -> localhost:8075
访问FineReport
在阿里云服务器上,通过Ngrok提供的公网URL访问FineReport:
比如我本地的网址是http://localhost:8075/webroot/decision/view/form?viewlet=%25E5%25AD%25A6%25E6%2583%2585%25E5%2588%2586%25E6%259E%2590.frm
现在在任何服务器上访问(也就是黄色的部分换成暴露后给的随机网址):
http://1234abcd.ngrok.io/webroot/decision/view/form?viewlet=%25E5%25AD%25A6%25E6%2583%2585%25E5%2588%2586%25E6%259E%2590.frm
都可以访问到我电脑上8075端口的网址。