亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

寫在前面

因之前內(nèi)網(wǎng)穿透一直使用的 ngrok,使用的 ngrok 1.x 版本的最新 1.7.1,而1.7.1有嚴(yán)重的內(nèi)存泄露問題,再加上 1.x 早已不在維護(hù),ngrok 2.x 后已經(jīng)不再開源,所以考慮換一個(gè)內(nèi)網(wǎng)穿透工具。

原文首發(fā)地址 https://github.com/liuvigongzuoshi/summarize-web-resources/blob/master/operation/frp.md

參考:Go語言中文文檔:www.topgoer.com

一、業(yè)務(wù)場景

裝備情況如下:

  • 一臺(tái)阿里云服務(wù)器(windows Server 2012)、公網(wǎng)IP。
  • 三臺(tái)內(nèi)網(wǎng)服務(wù)器,其中兩臺(tái) Windows Server,一臺(tái) centos。
  • 一個(gè)一級(jí)域名,已解析到公網(wǎng)IP。

需求:通過域名或IP可訪問三臺(tái)內(nèi)網(wǎng)部署的 http 服務(wù)、通過域名或IP可通信三臺(tái)內(nèi)網(wǎng)的遠(yuǎn)程桌面或 SSH

二、為什么選擇 frp

  • 開源,維護(hù)頻繁。
  • 支持 TCP、UDP、HTTP、HTTPS、STCP 等協(xié)議。
  • GoLang開發(fā)占用內(nèi)存小,代理穩(wěn)定。
  • 配置簡單方便,自定義插件化配置以及可開發(fā)自己業(yè)務(wù)需求的插件。
  • 提供安全地暴露內(nèi)網(wǎng)服務(wù)、加密與壓縮、底層通信可選 kcp 協(xié)議、端口復(fù)用、負(fù)載均衡、健康檢查、URL 路由、范圍端口映射、請求的 header處理等眾多功能。
記一次使用 frp 完成內(nèi)網(wǎng)服務(wù)器實(shí)現(xiàn)穿透全過程

 

image

初次之前還可通過瀏覽器查看 frp 的狀態(tài)以及代理統(tǒng)計(jì)信息展示,代理服務(wù)器上面,可在瀏覽器里面訪問的各代理狀態(tài)的可視化儀表盤。

記一次使用 frp 完成內(nèi)網(wǎng)服務(wù)器實(shí)現(xiàn)穿透全過程

 

image

內(nèi)網(wǎng)穿透服務(wù)器上提供可查看各穿透狀態(tài)、動(dòng)態(tài)在線配置、熱更新配置功能。

記一次使用 frp 完成內(nèi)網(wǎng)服務(wù)器實(shí)現(xiàn)穿透全過程

 

image

三、服務(wù)端配置

1. 開放云服務(wù)器的端口

登錄阿里云服務(wù)平臺(tái),進(jìn)入實(shí)例安全組,開放穿透代理需要的端口,先開放端口如下:

  • 開放TCP端口,7000至7010端口,7000端口是 frp服務(wù)端代理通信的默認(rèn)端口,7001至7010端口可代理內(nèi)網(wǎng)服務(wù)器的TCP應(yīng)用程序的端口,如果不夠使用可將端口繼續(xù)延長。
  • 開放TCP端口,7080與7443端口,方便進(jìn)行 HTTP 與HTTPS代理,因云服務(wù)器80與443端口已經(jīng)被其他應(yīng)用程序占用,取名后綴80與443方便記憶維護(hù)。
  • 開放UDP端口,開放7001端口,如果有需要提供點(diǎn)對點(diǎn)內(nèi)網(wǎng)穿透可開啟。

以上端口開啟不是指定,可自定義靈活配置。

2. 下載frp

進(jìn)入 frp 的 GitHub releases 地址,查看最新版,上面已提供各常用操作系統(tǒng)架構(gòu)編譯過的的包,下載對應(yīng)云服務(wù)器系統(tǒng)的版本。

你也可以下載源碼,安裝GoLang環(huán)境進(jìn)行自己編譯。

記一次使用 frp 完成內(nèi)網(wǎng)服務(wù)器實(shí)現(xiàn)穿透全過程

 

image

3. 配置frps

下載完成后,解壓打開文件夾,找到 frps.ini 文件進(jìn)行配置服務(wù)端代理規(guī)則,frpc 開頭的文件代理服務(wù)器上面不會(huì)用,在配置內(nèi)網(wǎng)的服務(wù)器上面會(huì)用到。

將 frps.ini 配置基本內(nèi)容如下:

[common]
# 設(shè)置地址及通信端口
bind_addr = 0.0.0.0
bind_port = 7000
# 設(shè)置默認(rèn)的UDP端口
bind_udp_port = 7001
# 監(jiān)聽7080與7443端口,進(jìn)行 HTTP 與 HTTPS 代理,HTTP 與 HTTPS 端口可以成設(shè)置一樣
vhost_http_port = 7080
vhost_https_port = 7443
# 設(shè)置查看儀表板服務(wù)地址及端口,dashboard_addr 不設(shè)置,默認(rèn)與 bind_addr 一樣,如果不設(shè)置 dashboard_port 端口不會(huì)開啟這個(gè)服務(wù)
dashboard_addr = 0.0.0.0
dashboard_port = 7500
# 設(shè)置儀表盤服務(wù)的登錄的賬號(hào)與密碼,如果不設(shè)置就默認(rèn)都是 admin
dashboard_user = admin
dashboard_pwd = admin
# 設(shè)置云服務(wù)器的域名,方便簡單的配置代理出去的服務(wù)可以通過子域名的方式訪問
subdomain_host = example.com
# 設(shè)置Token, 盡量配置復(fù)雜些,配置 frpc 會(huì)用到
token = 123456789
# 設(shè)置日志文件記錄路徑
log_file = ./logs/frps.log
# 設(shè)置日志記錄級(jí)別,分別有trace, debug, info, warn, error
log_level = info
# 設(shè)置日志記錄最大天數(shù)
log_max_days = 1

4. 啟動(dòng) frps

啟動(dòng)frps的服務(wù)很簡單,輸入如下命令,代理服務(wù)端就已經(jīng)啟動(dòng)起來了。

./frps -c ./frps.ini

5. 將 frps 配置成系統(tǒng)服務(wù)

如果服務(wù)器是 Windows系統(tǒng)推薦使用 winsw 工具將 frps 配置成系統(tǒng)服務(wù)。

  • 下載 WinSW.exe or WinSW.zip,更改 WinSW.exe 名稱為 frps-service.exe
  • 編寫 frps-service.xml 配置文件<service> <id>frps</id> <name>frps</name> <description>frps</description> <logmode>roll</logmode> <depend></depend> <executable>path/frps.exe</executable> <arguments>-c frps.ini</arguments> </service>
  • 安裝 frps 到系統(tǒng)服務(wù)中 frps-service install
  • 啟動(dòng)服務(wù) frps-service start

如果服務(wù)器是 linux 系統(tǒng),在下載frp解壓目錄的 systemd 目錄下面已經(jīng)有提供將 frps 配置成系統(tǒng)服務(wù)的文件。

四、客戶端配置

1. 下載frp

進(jìn)入 frp 的 GitHub releases 地址,查看已經(jīng)編譯好的最新版,下載對應(yīng)代理器系統(tǒng)的版本。

2. 配置frpc

下載完成后,解壓打開文件夾,找到 frpc.ini 文件進(jìn)行配置服務(wù)端代理規(guī)則,同理 frps 開頭的文件在內(nèi)網(wǎng)服務(wù)器上面不會(huì)用到。

將 frpc.ini 配置基本內(nèi)容如下:

[common]
# 云服務(wù)器的IP地址及 frps 里面設(shè)置的通信端口server_addr = x.x.x.xserver_port = 7000
# 授權(quán) token 與 frps 配置的一樣token = 123456789
# 設(shè)置日志文件記錄路徑log_file = ./logs/frps.log
# 設(shè)置日志記錄級(jí)別,分別有trace, debug, info, warn, error
log_level = info# 設(shè)置日志記錄最大天數(shù)log_max_days = 1
# 設(shè)置可在瀏覽器里面配置熱更新的服務(wù)admin_addr = 127.0.0.1
admin_port = 7400
admin_user = adminadmin_pwd = admin# tcp 范圍 7001-7010
# RDP,即Remote Desktop 遠(yuǎn)程桌面,Windows的RDP默認(rèn)端口是3389,協(xié)議為TCP
[rdp]type = tcp
local_ip = 127.0.0.1           
local_port = 3389
remote_port = 7001
subdomain = rdp# SMB,即Windows文件共享所使用的協(xié)議,默認(rèn)端口號(hào)445,協(xié)議TCP,本條規(guī)則可實(shí)現(xiàn)遠(yuǎn)程文件訪問。
#[smb]#type = tcp
#local_ip = 127.0.0.1
#local_port = 445
#remote_port = 7002
# 代理本機(jī) SSH#[ssh]#type = tcp
#local_ip = 127.0.0.1
#local_port = 22
#remote_port = 7003
# 設(shè)置本地端口80 HTTP 服務(wù)的代理
# 可通過 frps 里面配置的 subdomain_host 域名# 訪問 test.example.com 加 HTTP 代理端口,即 http://test.example.com:7080
[web_test]type = http
local_port = 80
subdomain = test

4. 啟動(dòng) frpc

啟動(dòng)frpc的服務(wù)與frps 類似。

./frpc -c ./frpc.ini

結(jié)下來就可以訪問測試你穿透的遠(yuǎn)程連接、SSH、web服務(wù)等。

5. 將 frpc 配置成系統(tǒng)服務(wù)

這里不再贅述,與配置將 frps 配置成系統(tǒng)服務(wù)類似。

四、HTTPS 配置

將內(nèi)網(wǎng)穿透的 HTTP 服務(wù)配置成 HTTPS 主要有兩種方法:

  1. 通過 frpc 的 https2http 插件將本地 HTTP 服務(wù)啟用 HTTPS,通過這種方式比較方便簡單對需要 HTTPS 的服務(wù)進(jìn)行可控性的配置,但如果各個(gè)內(nèi)外服務(wù)器需要 HTTPS 穿透的服務(wù)很多的話,就需要給每一個(gè)穿透服務(wù)生成并配置一個(gè)證書,這樣就比較繁瑣了。
  2. 通過生成泛域名證書,在外網(wǎng)服務(wù)器上面進(jìn)行配置 Nginx ,將內(nèi)網(wǎng)穿透出來的 Web 服務(wù)進(jìn)行代理轉(zhuǎn)發(fā)。

這里主要介紹第二種方式進(jìn)行 HTTPS 配置

1. 生成泛域名證書

2. 配置 Nginx

3. 證書更新

參考資料

  • frp 使用文檔

分享到:
標(biāo)簽:穿透 內(nèi)網(wǎng) frp
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評(píng)定2018-06-03

通用課目體育訓(xùn)練成績評(píng)定