十分鐘快速搭建frp的ssh和http的內網穿透- IT閱讀
文章推薦指數: 80 %
frp 是一個可用於內網穿透的高效能的反向代理應用,支援tcp, udp, http, https 協議。
frp目前最新版本為0.13.0,frp目前仍然處於前期開發階段,未經 ...
十分鐘快速搭建frp的ssh和http的內網穿透
首頁
最新
HTML
CSS
JavaScript
jQuery
Python3
Python2
Java
C
C++
Go
SQL
首頁
最新
Search
十分鐘快速搭建frp的ssh和http的內網穿透
2019-02-16254
frp簡介
frp是一個可用於內網穿透的高效能的反向代理應用,支援tcp,udp,http,https協議。
frp目前最新版本為0.13.0,frp目前仍然處於前期開發階段,未經充分測試與驗證,不推薦用於生產環境。
其實關於frp的使用官方文件已經說明得很詳細了,本篇文章是對於frp的一個快速搭建,更詳細的內容還請參考官方文件
環境準備
在開始之前我們需要準備的東西有一臺需要做內網穿透的內網伺服器(後文稱為客戶端),一臺可以訪問外網的伺服器(後文稱為服務端)(阿里雲等)以及一個已經備案的域名(僅做ssh內網穿透不需要)。
安裝
上述所需的伺服器以及域名都已經準備好之後便可以開始進行frp的配置,首先我們需要在frp的release頁面下載frp已經打包好的釋出版。
點選這裡可以直接下載0.13.0的linux版本
外網伺服器SSH環境配置
首先將frp的安裝包上傳到外網伺服器,linux建議放到/usr/local/frps目錄下,使用tar命令解壓frp安裝包
tar-zxvffrp_0.13.0_linux_amd64.tar.gz
接著進入frp的解壓目錄下
cd/usr/local/frps/frp_0.13.0_linux_amd64
進入目錄中可以看到
frpc
frpc_full.ini
frpc.ini
frps
frps_full.ini
frps.ini
LICENSE
這七個檔案
frpc:客戶端可執行程式
frpc_full.ini:客戶端所有配置項(可以再此檔案檢視frp的所有的配置項)
frpc.ini:客戶端配置項
frps:服務端可執行程式
frps_full.ini:服務端所有配置項(可以再此檔案檢視frp的所有的配置項)
frps.ini:服務端配置項
LICENSE:許可證
在服務端我們不需要客戶端的可執行程式和配置,為了避免誤操作,我們可以先刪除掉所有客戶端的配置
rm-rffrpcfrpc_full.inifrpc.ini
接下來可以對服務端配置進行修改。
vifrps.ini
可以看到服務端的預設配置如下:
[common]
bind_port=7000
預設的配置資訊中只有一個繫結埠為7000,意思是我們在外網伺服器中繫結7000埠和客戶端進行通訊。
注:埠可以自定義,但是需要客戶端和服務端進行統一。
阿里雲伺服器需要在esc管理中配置安全組規則中新增7000埠
接著在服務端使用如下命令啟動程式
./frps-cfrps.ini
這行命令的意思是根據frps.ini這個配置檔案去啟動frps
看到外網伺服器打印出如下資訊,表示啟動成功
但是這樣退出啟動控制檯程式便中斷了。
於是我們通常選擇後臺啟動。
在linux中使用如下命令進行後臺啟動。
然後執行的日誌會輸出到當前目錄的nohup.log檔案中
nohup./frps-cfrps.ini&
以上是外網伺服器最基本的一個配置。
十分簡單
內網伺服器SSH環境配置
內網伺服器與外網伺服器一樣,首先將安裝包上傳到內網伺服器的/usr/local/frpc目錄下,然後刪除掉我們不需要的服務端檔案
rm-rffrpsfrps_full.inifrps.ini
接著修改我們的客戶端配置檔案frpc.ini
vifrpc.ini
可以看到客戶端預設配置如下:
[common]
server_addr=120.79.17.158
server_port=7000
[ssh]
type=tcp
local_ip=192.168.3.9
local_port=22
remote_port=6000
[common]表示以下配置資訊是一些公用配置資訊
server_addr是我們服務端即外網伺服器的公網訪問ip
server_port是我們前面在服務端配置的frps.ini中bind_port中對應的埠。
需保持兩邊一致
[ssh]表示以下配置資訊是我們使用ssh連線內網伺服器時需要的一些配置資訊
type是連線型別,ssh方式連線就用tcp
local_ip是本機ip。
注意不能使用127.0.0.1,應該是本機的區域網ip。
如192.168.3..9
local_port是本地ssh埠,ssh預設埠為22
remote_port是外網伺服器請求過來的埠注:阿里雲伺服器需要在esc管理中配置安全組規則中新增6000埠
瞭解瞭如上配置後,我們對配置進行相應的修改。
修改為對應的資訊後,既可以使用如下命令啟動客戶端程式
./.frpc-cfrpc.ini
這行命令的意思是根據frpc.ini這個配置檔案去啟動frpc
看到內網伺服器打印出如下資訊表示啟動成功:
啟動成功後可以直接通過外網伺服器ip加上內網伺服器配置的remote_port進行ssh連線
如:
ssh120.79.17.158-p6000
就可以發現我們可以直接通過公網ip登入內網伺服器了
外網伺服器HTTP配置
通常我們在開發的時候想讓別人通過外網可以直接訪問到我們的系統,以便於除錯和測試,我是在做微信開發的時候需要使用到內網穿透的http服務,於是我們需要在frp中新增http服務的內網穿透配置
在外網伺服器的frps.ini中新增http服務配置如下:
[common]
bind_port=7000
vhost_http_port=6001
bind_port和之前做ssh時是一個意思。
也是為了和客戶端建立通訊的埠,只需要在之前的配置檔案中新增上vhost_http_port=6001,這個配置意思是讓別人在訪問我們的伺服器6001埠時。
frp將http請求轉發到內網伺服器
服務端的http請求配置到這裡就結束了
內網伺服器HTTP配置
內網伺服器需要在frpc.ini中新增上如下內容:
[web]
type=http
local_port=80
custom_domains=wannabe.fun
[web]表示我們的配置是一個web服務
type表示我們的請求方式是http方式
local_port表示我們的本地服務埠號為80
custom_domains表示配置為一個已經備案的域名(必填,並且需要域名可用,開始我認為這個不是必須的,於是花了很長時間,),並且域名解析配置為外網伺服器ip
以上配置完成後,我們就可以使用wannabe.fun:6001訪問到我們部署在內網伺服器的80埠的服務了。
相關文章
十分鐘快速搭建frp的ssh和http的內網穿透
巨杉Tech|十分鐘快速搭建Wordpress部落格系統
十分鐘快速搭建wordpress服務
十分鐘快速搭建個人VPN服務器
搭建frp實現樹莓派內網穿透
三分鐘快速搭建分散式高可用的Redis叢集
【SpringBoot】10分鐘快速搭建ssm框架
一分鐘快速搭建Windows防汙染DNS伺服器——Pcap_DNSProxy
hadoop2.7.0-偽分佈5分鐘快速搭建
3分鐘快速搭建ngrok伺服器
3分鐘快速搭建nodejs本地伺服器執行測試html/js
3分鐘快速搭建SpringBoot開發環境
[實戰乾貨]30分鐘快速搭建hexo3.7.0+next主題6.4教程(持續更新)
微信公共號(企業號)開發框架-gochat的從零開始教程(二):5分鐘快速搭建自己的公共號
10分鐘快速搭建Kubernetes容器集群平臺
分類導航
HTML/CSS
HTML教程
HTML5教程
CSS教程
CSS3教程
JavaScript
JavaScript教程
jQuery教程
Node.js教程
服務端
Python教程
Python3教程
Linux教程
Docker教程
Ruby教程
Java教程
JSP教程
C教程
C++教程
Perl教程
Go教程
PHP教程
正則表達式
資料庫
SQL教程
MySQL教程
PostgreSQL教程
SQLite教程
MongoDB教程
Redis教程
Memcached教程
行動端
IOS教程
Swift教程
Advertisement
三度辭典
Copyright©2016-2021IT閱讀
Itread01.comAllRightsReserved.
0.001291036605835
延伸文章資訊
- 1第十七天:怎麼讓別人連到我作好的網站? - iT 邦幫忙
我們只討論HTTP 和HTTPS 通訊協定,之前也提到過很多次,這裡就不多講了。 網域(Domain Name). 因為IP 位址不好記憶,就跟經緯度不好記憶一樣。一個有腦子的人類 ...
- 2無法連結到內網windows http server 時,該如何處理 - 關於網路 ...
1.先檢查本機端環境及http server 是否正常運作. 首先,環境是使用windows10,http server 是使用xampp 的apache架設的 · 2.測試內網連線狀況. 從另...
- 3五分鐘搞懂內網和外網之間的通信的原理 - 每日頭條
應用場景 客戶在內網部署了一台伺服器,開放了http或者其他服務。由於伺服器的地址屬於私有地址,外網用戶無法直接訪問該地址,也無法訪問伺服器提供的 ...
- 4frp + nginx 配置多人共用的http 內網穿透服務
frp 是一個用 Go 語言開發的,可用於 內網穿透 的高效能的反向代理應用,支援tcp, udp 、 http 和https。可將一個部署在本機的web服務對映到外網。
- 5十分鐘快速搭建frp的ssh和http的內網穿透- IT閱讀
frp 是一個可用於內網穿透的高效能的反向代理應用,支援tcp, udp, http, https 協議。frp目前最新版本為0.13.0,frp目前仍然處於前期開發階段,未經 ...