java要多思考下

          成長(zhǎng)^_^

             ::  :: 新隨筆 ::  ::  :: 管理 ::
            33 隨筆 :: 0 文章 :: 19 評(píng)論 :: 0 Trackbacks
          由于需要在外使用公司內(nèi)部網(wǎng)絡(luò)環(huán)境,故采用了FRP做了端口轉(zhuǎn)發(fā),以下是一些配置要點(diǎn):

          1、服務(wù)端配置
              服務(wù)器必須是公網(wǎng)服務(wù)器,可以在AWS或ALIYUN開通,得到公網(wǎng)IP。 
              服務(wù)器配置非常簡(jiǎn)單,只需要修改frps.ini文件,加入以下配置: 
          [common]
          bind_port = 7777          #服務(wù)器監(jiān)聽地址,配合公司內(nèi)網(wǎng)機(jī)器使用
          vhost_http_port=80      #服務(wù)器監(jiān)聽80端口
          vhost_https_port=443   #服務(wù)器監(jiān)聽443端口,Https
           
          2、客戶端配置
              客戶端配置復(fù)雜度隨著業(yè)務(wù)的復(fù)雜度的增加而變大。
              客戶端配置,修改frpc.ini文件,配置如下:
          [common]
          server_addr = xxx.xxx.xxx.xx           #公網(wǎng)服務(wù)器的外網(wǎng)IP地址
          server_port = 7777                          #公網(wǎng)服務(wù)器的監(jiān)聽地址,同frps.ini中的bind_port配置

          [ssh]                                               #暴露公司內(nèi)網(wǎng)的ssh服務(wù)
          type = tcp                                       #選擇tcp類型
          local_ip = 127.0.0.1                         #內(nèi)網(wǎng)機(jī)器ip,  frp客戶端程序所在的內(nèi)網(wǎng)機(jī)器
          local_port = 22                                #內(nèi)網(wǎng)機(jī)器允許的ssh服務(wù)登錄端口
          remote_port = 7022                         #內(nèi)網(wǎng)機(jī)器監(jiān)聽的外網(wǎng)ssh登錄端口, 比如在家里訪問公司內(nèi)網(wǎng)服務(wù)器,只需要輸入 ssh -p 7022 user@xxx.xxx.xxx.xxx即可 

          [web]                                              #暴露公司內(nèi)網(wǎng)的git代碼托管服務(wù)
          type = http                                      #選擇http類型
          local_port = 88                                #gitlab本地監(jiān)聽地址,默認(rèn)是80,需要修改gitlab配置為88或其他端口,以避免與內(nèi)網(wǎng)nginx端口占用的沖突
          custom_domains = git.domain.com   #外網(wǎng)域名,該域名可以在dns解析到xxx.xxx.xxx.xxx的外網(wǎng)服務(wù)器ip上,這樣在外就可以通過域名訪問公司內(nèi)部服務(wù)         

          [web2]                                            #暴露更多的公司內(nèi)網(wǎng)測(cè)試環(huán)境服務(wù)
          type = http
          local_port = 80                                #nginx本地監(jiān)聽地址,外網(wǎng)進(jìn)來的服務(wù)通過nginx匹配各種domain來區(qū)分請(qǐng)求,轉(zhuǎn)發(fā)
          custom_domains = test.domain.com

          [web3]
          type = http
          local_port = 80
          custom_domains = test2.domain.com

          [tcp1]                                             #暴露公司內(nèi)網(wǎng)的socket服務(wù)
          type = tcp                                       #選擇tcp類型
          local_port = 1111                            #本地socket監(jiān)聽端口
          remote_port = 1111                        #外網(wǎng)服務(wù)器的接收端口

          [tcp2]                                             #暴露更多內(nèi)網(wǎng)socket服務(wù)
          type = tcp
          local_port = 2222
          remote_port = 2222

          [mysql]                                           #暴露內(nèi)網(wǎng)mysql服務(wù)
          type = tcp                                       #選擇tcp類型
          local_port = 3306                            #mysql監(jiān)聽端口
          remote_port = 3306

          3、啟動(dòng)服務(wù)
              ./start.sh  client啟動(dòng)腳本如下:(server端類似)
          #!/bin/sh

          PID=`ps aux|grep frp|grep -v 'grep'|awk '{print $2}'`
          if [ "$PID" = "" ]; then
           echo 'start frpc now.'
           ./frpc -c ./frpc.ini > c.log &
           sleep 2
           tail -n 20 c.log
           echo 'start finished'
          else
           echo $PID 'stop frpc'
           kill -9 $PID
           ./frpc -c ./frpc.ini > client.log &
           echo 'start it now'
           sleep 2
           tail -n 20 client.log
           echo 'start finished'
          fi

          4、其他問題
              1、如果使用了云服務(wù),如aliyun,aws等,需要在安全組中開通以上端口(remote_port)的訪問權(quán)限,否則外網(wǎng)到內(nèi)網(wǎng)的鏈路無法通過。
              2、服務(wù)端運(yùn)行后,客戶端運(yùn)行,隨后可以通過外網(wǎng)域名直接訪問內(nèi)網(wǎng)服務(wù)



          posted on 2018-11-13 15:06 java要多思考下 閱讀(5592) 評(píng)論(0)  編輯  收藏 所屬分類: 系統(tǒng)運(yùn)維技術(shù)研究
          主站蜘蛛池模板: 姜堰市| 明光市| 江孜县| 杨浦区| 铜鼓县| 怀来县| 安陆市| 崇州市| 邢台市| 丰县| 丽水市| 荣成市| 仙桃市| 台山市| 阳西县| 察雅县| 洪洞县| 阿拉善左旗| 弥勒县| 弥渡县| 堆龙德庆县| 呈贡县| 师宗县| 敦化市| 南涧| 雅江县| 潍坊市| 旅游| 屏山县| 婺源县| 民丰县| 上思县| 西吉县| 罗山县| 彭山县| 辽宁省| 万州区| 天柱县| 库车县| 环江| 临沂市|