之前的旧手机因为只用了一年摔了一下,屏幕换了,换了个水屏3张,又摔了一下,修复充电,2张
故而直接抛弃惜之
想到用来搭建自有的nas服务器
linux deploy
源于xiaomi的解锁限制 168小时,故而先解决网络问题
今天先尝试在腾讯云服务器上实现内网穿透

准备编译安装

#install.sh
#!/bin/bash
apt install build-essential golang mercurial git
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok/
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=ngrok.test.com" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=ngrok.test.com" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key
#编译ngrokd(服务器端)
make release-server

#编译Linux客户端
#[ngrok/]#目录下执行下列语句
make release-client
#编译windows客户端
#[ngrok/]#目录下执行下列语句
GOOS=windows GOARCH=amd64 make release-client

配置启动server

#deploy-server.sh

#!/bin/bash
#运行ngrokd
#[ngrok/]#目录下执行下列语句
cd ngrok
./bin/ngrokd -domain="test.com" -tlsKey Nginx/2_ngrok.test.com.key  -tlsCrt Nginx/1_ngrok.test.com_bundle.crt -httpAddr=":9999" -httpsAddr=":4433" -tunnelAddr=":4443"
这里的nginx目录为在腾讯云申请的二级域名证书 下载解压的目录
domain为一级域名

配置启动tunnel

#deploy-server.sh

#!/bin/bash

./bin/ngrok -config=ngrok.cfg -proto=http -subdomain ngrok 8888
# 8888 为后端服务接口
#ngrok.cfg

server_addr: "ngrok.test.com:4443"
trust_host_root_certs: false

配置云服务器安全组

 	0.0.0.0/0	TCP:9999 允许 2021-09-09 14:26:37 插入 #client
 	0.0.0.0/0	TCP:4433 允许 2021-09-09 14:07:57 插入 #client
        0.0.0.0/0	TCP:4443 允许 2021-09-09 14:07:57 插入 #server

配置域名解析

主机记录记录类型线路类型记录值
*. ngrokCNAME默认ngrok.test.com.此条不需要,三级域名可以配置
ngrokA默认ip

远程访问

通过 https://ngrok.test.com:4433/ 可访问 http://客户端:8888/ 的服务

更多

https证书为自签名,未测试