手把手教你搭建基于ngrok私有云存储服务「建议收藏」

手把手教你搭建基于ngrok私有云存储服务「建议收藏」前段时间,闲置了个1核1G1M的服务器,就搞了个树莓派玩玩,随手搭建了个私有云存储,也看了一些教程,发现坑比较多,自己就重写个准备工作申请域名,如domain.cn可远程访问的服务器一台(linux64),并且备案(未备案域名只能用大陆外服务器)设置域名解析,如ngrok.domain.cn申请域名所需SSL证书(非必须,除非你要开启https访问)服务端安装服务器安装unzip解压命令yuminstall-yunzip下载服务端文件server.zip解压后启动,启动

大家好,又见面了,我是你们的朋友全栈君。

前段时间,闲置了个1核1G1M的服务器,就搞了个树莓派玩玩,随手搭建了个私有云存储,也看了一些教程,发现坑比较多,自己就重写个

前言

首先解释下,ngrok,主要是实现内网穿透,让你在外网的情况下访问自己的电脑服务,工作原理如下

  1. ngrok实现了一个tcp之上的端到端的tunnel,两端的程序在ngrok实现的Tunnel内透明的进行数据交互。
    手把手教你搭建基于ngrok私有云存储服务「建议收藏」
  2. ngrok分为client客户端(ngrok)和服务端(ngrokd),实际使用中的部署如下:
    手把手教你搭建基于ngrok私有云存储服务「建议收藏」
准备工作
  1. 申请域名,如 domain.cn
  2. 可远程访问的服务器一台(linux64),并且备案(未备案域名只能用大陆外服务器)
  3. 设置域名解析,如 ngrok.domain.cn
  4. 申请域名所需SSL证书(非必须,除非你要开启https访问)
服务端安装
  1. 服务器安装unzip解压命令
    yum install -y unzip
    
  2. 下载服务端文件
    server.zip
  3. 解压后启动,启动命令以及参数如下
    ./ngrokd -domain="ngrok.domain.cn" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4433" &
    # 追加 & 表示后台启动
    # 需要https访问,先下载域名解析证书
    # 启动命令增加 -tlsKey=server.key -tlsCrt=server.crt 开启https访问,文件路径为绝对路径 (如果后缀是pem的,直接把后缀改成crt即可)
    
  4. 注意服务器上端口是否有占用,以及服务器所在安全组端口是否放行
客户端安装
  1. 选择自己所需客户端下载
    linux32.zip
    linux64.zip
    linuxarm.zip
    mac.zip
    win32.zip
    win64.zip
  2. 解压后,修改配置文件,如下(如果没有.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
    
  3. 配置完成,启动本地服务后,在浏览器中,访问web1.ngrok.domain.cn web2.ngrok.domain.cn (这里的端口是启动服务器端指定的-httpAddr=“:80”,https一样的道理)
  4. 通过ssh工具访问 ngrok.domain.cn:8822
后记

其实,要想使用https访问,如上ngrok是可以配置的
但是建议使用nginx做代理,毕竟一台外网服务器不可能只部署一个ngrok服务端程序。

nginx部署教程详见如下教程链接
https://blog.csdn.net/qq_23501739/article/details/110919332

特别

有想试试的小童鞋,私信我,给你们个免费的ngrok使用哟

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152127.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 冯诺依曼体系结构「建议收藏」

    冯诺依曼体系结构「建议收藏」目录冯诺依曼体系结构简介数据流向存储分级举例说明数据的流动过程冯诺依曼体系结构简介我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。计算机本质上是有输入,并且经过计算机的计算,将结果显示到某种显示输出上,就可以称为计算机。输入单元:键盘,网卡,磁盘,话筒…输出单元:显示器,网卡,磁盘,音响…存储器没有特殊说明一般指的是物理内存。中央处理器(CPU):含有运算器和控制器等运算器在进行运算的时候无外乎两种情况,一种是算术运算,一种逻辑运算。控制器主要能够用来

    2022年10月23日
  • 无法创建文件夹或文件问题的解决的方法

    无法创建文件夹或文件问题的解决的方法

    2021年12月14日
  • java integer最大值_java int型最大值/最小值,最大值+1,最小值-1

    java integer最大值_java int型最大值/最小值,最大值+1,最小值-1java中,int型变量是有符号整形变量。int型变量占用4个字节(32bit位)。int型变量采用补码形式来表示数值。对于一个二进制数,正数的补码是其本身,负数的补码是所有二进制位取反再加一。int变量中,第一位是符号位(0表示正数,1表示负数)。我们下面来实际分析int型中正数和负数是怎么表示的。5数字为正数,第一位符号为是0,正数5的二进制码是000000000000101,补码还是…

  • java 除法取商_java除法怎样取小数部分「建议收藏」

    java 除法取商_java除法怎样取小数部分「建议收藏」2016-09-0100:30最佳答案C++的优先级优先级操作符结合性1::左2.->[]()左3++–~!-+&*()sizeofnewdeletecastname_cast单目操作符右4.*->*左5*/%左6+-左7<<>>左8<<=>>=…

  • java栈内存不足

    java栈内存不足前置条件:使用命令java -Xmx1g-Xms1g-Xmn256m-XX:PermSize=128m-Xss256k-XX:+DisableExplicitGC-XX:+UseConcMarkSweepGC-XX:+CMSParallelRemarkEnabled-XX:+UseCMSCompactAtFullCollection-XX:LargePageSizeInByte

  • tikv性能参数调优[通俗易懂]

    tikv性能参数调优[通俗易懂]tiKV最底层使用的是RocksDB(tidb3.0版本中将使用tian存储引擎)做为持久化存储,所以TiKV的很多性能相关的参数都是与RocksDB相关的。TiKV使用了两个RocksDB实例,默认RocksDB实例存储KV数据,RaftRocksDB实例(简称RaftDB)存储Raft数据。TiKV使用了RocksDB的ColumnFamil…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号