內網穿透frp
frp 是一個專注於內網穿透的高效能的反向代理應用,支援 TCP、UDP、HTTP、HTTPS 等多種協議。可以將內網服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網。
golang原始碼部署
- 下載原始碼
- 配置客戶端
- 在frpc 目錄下面新增配置檔案 frpc.ini
[common] server_addr = xx.xx.xx.xx 注意替換成自己的伺服器公網ip埠 server_port = 7000 [web01] type = http #訪問協議 內網埠 local_port = 8181
#內網web服務的埠號,也就是我們想展示的頁面的埠號
custom_domains = xx.xx.xx.xx 注意替換成自己的伺服器公網ip埠
- 配置服務端
```go
[common]
bind_port = 7000
#與客戶端繫結的進行通訊的埠
vhost_http_port = 9098
#訪問客戶端web服務自定義的埠號,也就是最終用公網ip訪問時的埠號
#./frps -c frps.ini
#GOOS=linux GOARCH=amd64 go build -o frps *.go 打包部署到伺服器
- 最終目錄結構
測試效果
1.啟動服務端,在fprs 目錄線面執行go run *.go -c ./frps.ini 2021/07/06 15:14:07 [I] [root.go:200] frps uses config file: ./frps.ini 2021/07/06 15:14:07 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000 2021/07/06 15:14:07 [I] [service.go:235] http service listen on 0.0.0.0:9098 2021/07/06 15:14:07 [I] [root.go:209] frps started successfully
2. 啟動客戶端,在fprc目錄下面執行
```go
go run *.go -c frpc.ini
2021/07/06 15:15:40 [I] [service.go:304] [6af11efc2f567073] login to server success, get run id [6af11efc2f567073], server udp port [0]
2021/07/06 15:15:40 [I] [proxy_manager.go:144] [6af11efc2f567073] proxy added: [web01]
2021/07/06 15:15:40 [I] [control.go:180] [6af11efc2f567073] [web01] start proxy success
- 成功訪問 127.0.0.1:9098/ (該127.0.0.1 實際需要替換你的公網ip地址),通過9098埠轉發到內網埠 8181
- 自己打包編譯
服務端centos: GOOS=linux GOARCH=amd64 go build -o frps *.go 客戶端: go build
第二種方式部署包,不依賴本地環境
- 複製 上面所說的 frps.ini 和 frpc.ini 放置當前軟體同級目錄
- 下載windows, mac 和 linux 部署包,linux部署包需要部署到自己的伺服器 , 客戶端包需要本地執行,部署包下載地址
- 啟動服務端 ./frps -c frps.ini
- 本地啟動客戶端 ./frpc -c frpc.ini
本作品採用《CC 協議》,轉載必須註明作者和本文連結