由于本人的阿里云服务器性能较差,内存只有2G,导致很多想法都没法实现。

例如:全文检索只能用原生Lucene,没法跑Solr或Elasticsearch、等等。

配置低,跑的服务过多主服务tomcat会被杀掉。

好在还有一台旧笔记本,配置6代i7+16G内存,想着当服务器来用。装上了Linux,服务也都能正常运行,但是有一个痛点就是无法被公网访问。

经过百度,发现有现成的产品可用,例如----花生壳。

试用之后发现速度非常慢,带宽低,且收费,遂放弃。

经过一番折腾,发现Github上有一款软件可满足需求,遂记录下来。

什么软件?

它就是----frp
作者是这样介绍它的:

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

它能做什么?

  • 通过 ssh 访问公司内网机器
  • 通过自定义域名访问部署于内网的 web 服务
  • 转发 DNS 查询请求
  • 转发 Unix 域套接字
  • 对外提供简单的文件访问服务
  • 为本地 HTTP 服务启用 HTTPS
  • 安全地暴露内网服务
  • 点对点内网穿透

很显然,第二条正是我需要的。

内网穿透

我需要的就是,将大型项目运行在旧笔记本上,然后将服务穿透到公网,让互联网能访问我的项目。

性能较差的阿里云服务器只做一个代理,真正消耗性能的项目运行在笔记本上。

这款软件是用go语言写的,本人亲测,开启代理对性能消耗极小。

如何使用?

首先去Github找到机器对应版本的软件并下载。点我下载

由于我的系统是Linux,所以下载的是:frp_0.28.2_linux_amd64.tar.gz。

1、上传到外网服务器,解压。

2、配置frps.ini

[common]
bind_addr = 0.0.0.0
#与内网通信的端口
bind_port = 7000
#WebUI界面的用户名和密码
dashboard_user = root
dashboard_pwd = root
#WebUI界面的端口
dashboard_port = 7500
#代理端口 最终通过4000端口访问内网服务
vhost_http_port = 4000

配置好后,启动服务:

./frps -c ./frps.ini

服务器端如此配置就可以了。

3、内网服务器下载frp并解压

4、内网配置frpc.ini

[common]
#公网IP
server_addr = 116.62.153.46
#与公网通信的端口,与外网配置必须一致,否则双方无法通信
server_port = 7000

[web]
#协议类型
type = http
#本地服务端口
local_port = 4000
#二级域名
custom_domains = zt.panch.info

配置好后,启动服务:

./frpc -c ./frpc.ini
#注意
外网的执行文件是:frps 加载的配置文件是:frps.ini
内网的执行文件是:frpc 加载的配置文件是:frpc.ini
不要搞混了

外网和内网服务都配置好以后,就可以通过 zt.panch.info:4000 访问内网服务了。

速度不受影响,而且不收费,使用体验比 花生壳 好多了。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐