自己動手,豐衣足食!網上的很多教程都有不少坑,做乙個優化的流程記錄
阿里雲上的centos伺服器,ssh連線(xshell),ftp連線(filezilla),以及解析到伺服器的網域名稱(這裡以xyz.com為例)
安裝gcc
yum install gcc -y
安裝git
yum install
git -y
安裝go環境
yum install golang
獲得git原始碼
git clone ngrok
生成證書(xyz.com替換成你自己的網域名稱!!!)
export ngrok_domain=
"xyz.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
替換證書(逐行輸入!!!每行都要按y進行確認)
cp rootca.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key
編譯原始碼生成服務端(放在伺服器上)
goos=linux goarch=amd64 make release-server
goos=windows goarch=amd64 make release-client
開啟ngrok服務(注意xyz.com替換為自己的網域名稱!!!)
記得在伺服器安全組開啟相應的入網埠
&配置程式為:(注意xyz.com替換為自己的網域名稱!!!)
指令碼程式為(如果上面的埠配置程式裡配置了更多的埠,記得新增)
ngrok.exe -config=ngrok.cfg start http https ssh mstsc
雙擊ngrok.bat即可啟動
啟動成功畫面:
在ngrok程式目錄(/root/ngrok)下新建啟動指令碼start.sh(.sh即linux中的shell指令碼程式)
vi start.sh
輸入啟動指令碼(注意xyz.com替換為自己的網域名稱!!!)
&給 start.sh 檔案許可權
chmod 755 /root/ngrok/start.sh
在/etc/rc.d/init.d目錄下新建啟動檔案
sudo
vi /etc/rc.d/init.d/ngrok
輸入自啟動服務檔案
#!/bin/sh
#chkconfig:2345 70 30
#description:ngrok
### begin init info
# provides:ngrok
# required-start:
# required-stop:
# default-start:2 3 4 5
# default-stop:0 1 6
# short-description: start or stop the ngrok proxy.
### end init info
ngrok_path=/root/ngrok
case
"$1"
in start)
echo
"start ngrok service.."
sh $/start.sh
;;*)exit 1 ;;
esac
給ngrok自啟動服務檔案執行許可權
chmod 755 /etc/rc.d/init.d/ngrok
註冊ngrok服務自啟動
cd /etc/rc.d/init.d
chkconfig --add ngrok
開啟服務
service ngrok start
檢視自啟動的服務狀態
chkconfig
如果如下圖所示,2345選項都是on,則開啟服務成功
reboot
檢視服務當前狀態
systemctl status ngrok
服務狀態是activating
service ngrok start時遇到的錯誤:env: 『/etc/init.d/ngrok』: no such file or directory,可是目錄下明明有ngrok檔案存在?
[root@iz6m61chmsnr61z init.d]
service ngrok start
env: 『/etc/init.d/ngrok』: no such file or directory
answer:這是因為在windows下儲存或者建立的指令碼檔案,windows中換行符為/r/n,而linux中是/n ,所以會出現錯誤
使用dos2unix工具進行檔案格式轉換即可
yum install dos2unix
dos2unix /etc/init.d/ngrok
/etc/init.d/ngrok 等同於/etc/rc.d/init.d/ngrok,相當於/etc下的init.d目錄只是快捷方式,在ftp工具裡面檢視即顯而易見 frp實現內網穿透
利用處於內網或防火牆後的機器,對外網環境提供 http 或 https 服務。對於 http,https 服務支援基於網域名稱的虛擬主機,支援自定義網域名稱繫結,使多個網域名稱可以共用乙個80埠。利用處於內網或防火牆後的機器,對外網環境提供 tcp 和 udp 服務,例如在家裡通過 ssh 訪問處於...
frp實現內網穿透
第二部 開啟資料夾,配置裡面的frpc.ini檔案,右鍵編輯就可以 裡面的ssh是預設的要改個名字,不是提示名字被占用,web 是自己加上去的,但是也要改個名字。埠號 按自己需求定,比如你的tomcat是80埠,就配80 按這個配置好檔案後,進行第三步。第三步 在doc視窗下執行這個配置檔案,執行這...
Frp實現內網穿透
一 內網穿透 內網穿透 可用使用外網訪問本地的應用,例如 內網穿透後使用zyd.fanaozhe.top訪問本地的localhost 8080 二 frp安裝步驟 服務端 客戶端2.frp的解壓啟動 1 服務端 將tar包解壓縮 tar zxvf frp 0.26.0 linux amd64.tar...