刺球網絡安全社區

 找回密碼
 立即注冊

新浪微博登陸

只需一步, 快速開始

QQ登錄

只需一步,快速開始

搜索
查看: 9678|回復: 1
打印 上一主題 下一主題

Ngrok搭建服務器(阿里云centos6.8列)

[復制鏈接]

 成長值: 216473

新浪微博達人勛

  • TA的每日心情

    2019-8-22 09:24
  • 簽到天數: 23 天

    [LV.4]偶爾看看III

    1134

    主題

    1717

    帖子

    37萬

    積分

    管理員

    技術指數:★★★★★

    Rank: 9Rank: 9Rank: 9

    積分
    376223

    社區QQ達人最佳新人活躍會員熱心會員推廣達人宣傳達人灌水之王突出貢獻優秀版主榮譽管理論壇元老

    QQ
    跳轉到指定樓層
    樓主
    發表于 2017-3-31 09:55:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    *
    * 首先,附上成品,如果實在搭建不成功的,可以使用我的客戶端,以解你的燃眉之急!
    *鏈接:http://pan.baidu.com/s/1nvBKqXN
    *密碼:k2qb
    *另外,本屌有個基于centos的一鍵搭建ngrok的腳本,如有需要可加群向本屌索取*
    *上面是windows64位版本的,現在已經支持32位版本及linux版本和mac版本,
    *需要的請移步:http://ngrok.ciqiuwl.cn下載!
    *


    一、ngrok簡介及作用

    ngrok 是一款用go語言開發的開源軟件,它是一個反向代理,通過在公共的端點和本地運行的 Web 服務器之間建立一個安全的通道。下圖簡述了ngrok的原理。

    ngrok 可捕獲和分析所有通道上的流量,便于后期分析和重放。

    這些看上去很麻煩,我們更需要的是了解ngrok的用途。

    • 完美代替“花生殼”軟件。

    “花生殼”是一款老牌的內網穿透軟件,一年的內網版服務要兩百多塊錢,都快可以買一年垃圾點的VPS服務器了。而免費版的“花生殼”穩定性較差,隔三差五的不能訪問,每個月只有1G流量,以前做項目沒少被坑。ngrok是一款免費開源的軟件,穩定性極強,我曾做過測試,將ngrok客戶端所在計算機的網絡斷開一陣子,再連接另一個網絡,ngrok很快會自動重連,幾乎不受影響。

    • 用于對處在內網環境中,無外網IP的計算機的遠程連接。

    ngrok可以做TCP端口轉發,對于Linux可以將其映射到22端口進行SSH連接。Windows的遠程桌面可以將其映射到3389端口來實現。同理,如果要做MySQL的遠程連接,只需映射3306端口即可。

    • 用作臨時搭建網站并分配二級域名,可用作微信二次開發的本地調試。

    微信公眾平臺二次開發時,服務器必須要能通過外網訪問,而且必須是80接口。我們一般會在自己的電腦上寫代碼,但是由于電信運營商將80端口屏蔽了,甚至很多人通過無線路由器上網,根本就沒有公網ip。在這種情況下,我們每次都要上傳代碼到服務器對微信公眾平臺進行接口調試,十分的不方便。而ngro可以將內網映射到一個公網地址,這樣就完美的解決了我們的問題。

    ngrok官方為我們免費提供了一個服務器,我們只需要下載ngrok客戶端即可正常使用,但是后來官方的服務越來越慢,直到ngrok官網被完全屏蔽。現在我們已經無法使用ngrok官方的服務器了。所以,接下來我們自行搭建屬于自己的ngrok服務器,為自己提供方便快捷又穩定的服務,一勞永逸。

    二、環境準備
    這里以阿里云ECS為例,操作系統為CentOS7(64位)。
    域名
    將一個域名或二級域名泛解析到VPS服務器上。例如將*.xiaomiqiu.cn解析到VPS的IP。要注意,此時還需要將ngrok.xiaomiqiu.cnA記錄設置為VPS的IP。
    軟件下載地址:
        go的下載地址:http://www.golangtc.com/download
    準備映射的域名:ngrok.xiaomiqiu.cn
    安裝git
    1、安裝git,我安裝的是2.6版本,防止會出現另一個錯誤,安裝git所需要的依賴包
    yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++
    2、下載git
    tar zxvf git-2.6.0.tar.gz
    3、解壓git
    tar zxvf git-2.6.0.tar.gz
    4、編譯git

            cd git-2.6.0
            ./configure --prefix=/usr/local/git
            make
            make install
    5、創建git的軟連接
    ln -s /usr/local/git/bin/* /usr/bin/
    安裝go環境
    準備go環境,我的系統是64位的centos所以我下載amd64的包32位的下載386的包即可
    1、下載go的軟件包
    wget http://www.golangtc.com/static/go/1.4.2/go1.4.2.linux-386.tar.gz

    2、解壓出來可以隨便指定位置
    [mw_shl_code=applescript,true]tar -zxvf go1.4.2.linux-amd64.tar.gz
            mv go /usr/local/(*如果此處移動失敗 請使用先復制到該目錄再刪除的方法)[/mw_shl_code]
    3、go的命令需要做軟連接到/usr/bin

    ln -s /usr/local/go/bin/* /usr/bin/

    編譯ngrok
    cd /usr/local/
    git clone https://github.com/inconshreveable/ngrok.git
    export GOPATH=/usr/local/ngrok/
    export NGROK_DOMAIN="ngrok.xiaomiqiu.cn"(*此處改為你自己的域名即可)
    cd ngrok
    為域名生成證書
    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 server.key 2048
    openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
    openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000
    在軟件源代碼目錄下面會生成一些證書文件,我們需要把這些文件拷貝到指定位置
    cp rootCA.pem assets/client/tls/ngrokroot.crt
    cp server.crt assets/server/tls/snakeoil.crt
    cp server.key assets/server/tls/snakeoil.key

    修改代碼
    按理來說,跳過這一步直接進行后續的編譯工作沒有什么問題。但是由于google無法訪問,造成編譯的時候從code.google.com上自動下載依賴包log4go超時而編譯失敗。
    所以,我們需要將依賴包的下載地址改為github上的地址
    vim /usr/local/ngrok/src/ngrok/log/logger.go
    將第四行改成下面的
            log "github.com/keepeye/log4go"

    指定編譯環境變量,如何確認GOOS和GOARCH,可以通過go env來查看
    編譯服務端
    cd /usr/local/go/src
    GOOS=linux GOARCH=amd64 ./make.bash
    cd /usr/local/ngrok/
    GOOS=linux GOARCH=amd64 make release-server
    編譯客戶端(按自己的客戶端選擇編譯即可)
    適用于mac os 64位操作系統
    cd /usr/local/go/src
    GOOS=darwin GOARCH=amd64 ./make.bash
    cd /usr/local/ngrok/
    GOOS=darwin GOARCH=amd64 make release-client

    適用于Windows的客戶端編譯
    cd /usr/local/go/src
    GOOS=windows GOARCH=amd64 ./make.bash
    cd /usr/local/ngrok/
    GOOS=windows GOARCH=amd64 make release-client

    客戶端配置文件(新建ngrok.cfg,將配置信息粘貼進去就行

    server_addr: "ngrok.xiaomiqiu.cn:4443"
    trust_host_root_certs: false

    服務端啟動

    ./usr/local/ngrok/bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80"

    注意,想讓程序一直在后臺運行可以執行

    nohup ./usr/local/ngrok/bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80" &  

    想要結束后臺進程可以
    ps -A   #找到PID

    kill xxxid  

    客戶端使用
    ./ngrok -config=./ngrok.cfg -subdomain=blog 80
    setsid ./ngrok -config=./ngrok.cfg -subdomain=test 80 #在linux下如果想后臺運行

    出現這個錯誤說明我們需要安裝hg
    package code.google.com/p/log4go: exec: "hg": executable file not found in $PATH
    解決辦法
    yum install hg -y

    編譯到 go get gopkg.in/yaml.v1 的時候卡住不走了,說明是git比較低,版本需要大于1.7.9.5以上
    fatal: Unable to find remote helper for 'https' 出現這個問題,可以重新安裝 curl curl-devel 然后再重裝git
    安裝git-corewget https://www.kernel.org/pub/softw ... re-0.99.6.tar.gztar zxvf git-core-0.99.6.tar.gzcd git-core-0.99.6make prefix=/usr/libexec/git-core installexport PATH=$PATH:/usr/libexec/git-core/

    如果大家有什么疑問可以加入交流群150134730(刺球網絡安全社區)進行討論(里面大牛多多哦)














    0 1
    [發帖際遇]: 刺球 發帖時在路邊撿到 4 金球,偷偷放進了口袋. 幸運榜 / 衰神榜
    樓主熱帖
    分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
    收藏收藏 轉播轉播 支持支持1 反對反對
    帖子永久地址: 

    刺球網絡安全社區 - 論壇版權1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關
    2、本站所有主題由該帖子作者發表,該帖子作者與刺球網絡安全社區享有帖子相關版權
    3、其他單位或個人使用、轉載或引用本文時必須同時征得該帖子作者和刺球網絡安全社區的同意
    4、帖子作者須承擔一切因本文發表而直接或間接導致的民事或刑事法律責任
    5、本帖部分內容轉載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
    6、如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
    7、刺球網絡安全社區管理員和版主有權不事先通知發貼者而刪除本文

    分享到新浪微博
    回復

    使用道具 舉報

     成長值: 216473

    新浪微博達人勛

  • TA的每日心情

    2019-8-22 09:24
  • 簽到天數: 23 天

    [LV.4]偶爾看看III

    1134

    主題

    1717

    帖子

    37萬

    積分

    管理員

    技術指數:★★★★★

    Rank: 9Rank: 9Rank: 9

    積分
    376223

    社區QQ達人最佳新人活躍會員熱心會員推廣達人宣傳達人灌水之王突出貢獻優秀版主榮譽管理論壇元老

    QQ
    沙發
     樓主| 發表于 2017-5-10 13:21:30 | 只看該作者
    只編譯了windows 64版的客戶端,如果有需要其他版本的客戶端的可以聯系我,我再幫你編譯!

    回復 支持 反對

    使用道具 舉報

    您需要登錄后才可以回帖 登錄 | 立即注冊 新浪微博登陸

    本版積分規則

    ?
     
     
    技術支持
    點擊這里給我發消息
    在線客服
    點擊這里給我發消息
    點擊這里給我發消息
    刺球網安群①:
    刺球網安社區交流群①
    在線時間:
    8:30-21:00
     

    刺球網安 渝公網安備 50011402500080號 ( 渝ICP備15001097號-1 )申請友鏈|小黑屋| 刺球網絡安全社區

    GMT, 2020-4-2 13:55 , Processed in 0.166588 second(s), 49 queries , Gzip On.

    Powered by 刺球網安

    © 2014-2025

    快速回復 返回頂部 返回列表
    福彩3d最新开奖佶息