手把手教你搭建基于ngrok私有云存储服务
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
前段时间,闲置了个1核1G1M的服务器,就搞了个树莓派玩玩,随手搭建了个私有云存储,也看了一些教程,发现坑比较多,自己就重写个
前言
首先解释下,ngrok,主要是实现内网穿透,让你在外网的情况下访问自己的电脑服务,工作原理如下
- ngrok实现了一个tcp之上的端到端的tunnel,两端的程序在ngrok实现的Tunnel内透明的进行数据交互。
- ngrok分为client客户端(ngrok)和服务端(ngrokd),实际使用中的部署如下:
准备工作
- 申请域名,如 domain.cn
- 可远程访问的服务器一台(linux64),并且备案(未备案域名只能用大陆外服务器)
- 设置域名解析,如 ngrok.domain.cn
- 申请域名所需SSL证书(非必须,除非你要开启https访问)
服务端安装
- 服务器安装unzip解压命令
yum install -y unzip
- 下载服务端文件
server.zip
- 解压后启动,启动命令以及参数如下
./ngrokd -domain="ngrok.domain.cn" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4433" & # 追加 & 表示后台启动 # 需要https访问,先下载域名解析证书 # 启动命令增加 -tlsKey=server.key -tlsCrt=server.crt 开启https访问,文件路径为绝对路径 (如果后缀是pem的,直接把后缀改成crt即可)
- 注意服务器上端口是否有占用,以及服务器所在安全组端口是否放行
客户端安装
- 选择自己所需客户端下载
linux32.zip
linux64.zip
linuxarm.zip
mac.zip
win32.zip
win64.zip - 解压后,修改配置文件,如下(如果没有.yml配置文件,新建一个config.yml即可)
# ngrok服务地址、端口,用于和服务端通信 server_addr: "ngrok.domain.cn:4433" # 是否开启https访问(前提服务器端必须配置证书) #trust_host_root_certs: false # 隧道列表 tunnels: # 隧道名称 ssh: # ssh远程端口暴露 remote_port: 8822 # 链接类型以及本地端口 proto: # tcp链接,端口22(22端口建议不要修改,默认ssh端口) tcp: ":22" web1: # 重新定义域名前缀(如服务端是ngrok.domain.cn , 则定义后访问域名为 twebt.ngrok.domain.cn ,如果不定义的话,则以隧道名称前缀web1.ngrok.domain.cn) # subdomain: twebt # 指向本地的静态web路径 root: "/Users/xxx/xxx/web1/" # 链接类型以及本地端口 proto: # http链接,本地端口8181 http: ":8181" web2: proto: http: ":8182" # 如果开启了https访问,则需按照如下格式写 # web3: # proto: # https: ":8183" # 如上,如果全部隧道启动,则启动命令如下 # ./ngrok start ssh web1 web2 web3 & # 追加 & 表示后台启动 # 默认加载同级目录下的config.yml文件,如果是自定义config,则需指定config文件,启动命令增加 -config=xxx.yml即可,如下 # ./ngrok -config=xxx.yml start ssh web1 web2 web3 & # 或者PM2启动 # pm2 start ./ngrok -- -config=config.yml start ssh
- 配置完成,启动本地服务后,在浏览器中,访问web1.ngrok.domain.cn web2.ngrok.domain.cn (这里的端口是启动服务器端指定的-httpAddr=“:80”,https一样的道理)
- 通过ssh工具访问 ngrok.domain.cn:8822
后记
其实,要想使用https访问,如上ngrok是可以配置的
但是建议使用nginx做代理,毕竟一台外网服务器不可能只部署一个ngrok服务端程序。
nginx部署教程详见如下教程链接
https://blog.csdn.net/qq_23501739/article/details/110919332
特别
有想试试的小童鞋,私信我,给你们个免费的ngrok使用哟
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 年前
更多推荐
已为社区贡献8条内容
所有评论(0)