今晚很是激动,经过昨晚和今晚的努力,终于实现了从外网访问到树莓派了,写一篇文章记录一下喽。
环境:
搬瓦工VPS端(centOs6)
树莓派3b(基于Arm)
步骤
1.安装git、gcc、go等1
yum install mercurial git gcc golang
2.安装 supervisor ,这样可以保持服务运行1
yum install supervisor
3.git下载ngrok1
2
3
4
5cd /root
官方地址,可能会报错,最近应该已经修复
git clone https://github.com/inconshreveable/ngrok.git
修复地址,不会报错,感谢 tutumcloud
git clone https://github.com/tutumcloud/ngrok.git
4.证书生成1
2
3
4
5
6
7
8cd /root/ngrok
这里修改为自己的域名
NGROK_DOMAIN="www.xiajunyi.com"
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
5.证书的复制准备工作1
2
3\cp rootCA.pem assets/client/tls/ngrokroot.crt -f
\cp device.crt assets/server/tls/snakeoil.crt -f
\cp device.key assets/server/tls/snakeoil.key -f
6.生成服务端的ngrokd1
2cd /root/ngrok
make release-server
7.服务端配置并启动ngrokd1
2
3
4cd /root/ngrok
NGROK_DOMAIN="www.xiajunyi.com"
http
bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":8331" -httpsAddr=":8332" -tunnelAddr=":8333"
8.编译给客户端pi上用的ngrokd1
2cd /root/ngrok
GOOS=linux GOARCH=arm make release-client
9.把bin目录下的客户端打包1
2cd /root/ngrok
tar -cvf bin.tar bin/
10.用scp工具复制bin.tar到树莓派的如下目录1
2 解压bin,tar至自定义目录
tar -zxf /home/pi/ngrox-cust/bin.tar
11.客户端配置1
2
3
4
5cd /home/pi/ngrox-cust/bin/linux_arm
vi ngrok.cfg
加入如下内容
server_addr: "www.xiajunyi.com:8333"
trust_host_root_certs: false
12.启动客户端1
./ngrok -subdomain pi -proto=http -config=ngrok.cfg 80
13.记得加入子域名的解析规则1
A *.pi 23.83.224.98
14.测试是否内网穿透成功,可以在树莓派上安装nginx1
sudo apt-get install nginx
15.访问:http://pi.www.xiajunyi.com:8331/,成功到达树莓派的nginx主页
参考文章:
本文链接: https://www.xiajunyi.com/pages/p17.html
版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载请注明出处!