Mark Ku's Blog

樹莓派安裝 FRP SERVER

解決問題

先前一篇文章+介紹過如何透過 Google cloud 架設 Frps 反向代理伺服器,將內網網站經過映射出去,但因為網站越來越多,費用隨著而來也越來越高,一個月200~300,最後透過樹莓派自架 FRP SERVER。

首先,下載最新版的 frps

wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_arm.tar.gz

解壓縮檔案並重新命名資料夾為 frp

tar -zxvf frp_0.47.0_linux_arm.tar.gz
mkdir /var/frps
mv frp_0.47.0_linux_arm/* /var/frps/
cd /var/frps

編輯 frps 的設定檔 (sudo vim frps.ini)

# frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 你的密碼
authentication_method = token
token = frpc 連線的 token 

執行

sudo ./frps -c ./frps.ini

在到 DNS 主機中設定域名

FRP 伺服器啟動成功與代理建立的終端機畫面
FRP 伺服器啟動成功與代理建立的終端機畫面

挷定 DNS 將 proxy.markkulab.net 指向 FRPS 主機 DNS A 紀錄設定畫面,主機 proxy 指向 11221 挷定 CNAME,這樣訪問者訪問 blog.markkulab.net frps 就會指到指定用戶端映射的網站 CNAME記錄設定,blog指向proxy.markkulab.net

CNAME記錄設定介面,主機shop指向proxy.markkulab.net
CNAME記錄設定介面,主機shop指向proxy.markkulab.net

frpc.ini 的設定

[common]
server_addr = proxy.markkulab.net
server_port = 7000
auth_token = 你的密碼
pool_count = 100

[ShopCartHttps2]
type = https
custom_domains = shop.markkulab.net
local_port = 888
plugin = https2http
plugin_local_addr = 127.0.0.1:888
plugin_crt_path = /Public/shop_certificate.crt
plugin_key_path = /Public/shop_private.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp

[blog]
type = https
local_port = 49183
custom_domains = blog.markkulab.net
plugin = https2http
plugin_local_addr = 127.0.0.1:49183
# HTTPS 证书相关的配置
plugin_crt_path = /Public/blog_certificate.crt
plugin_key_path = /Public/blog_private.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp

設置重開機自動啟動

在 /lib/systemd/system/ 增加設定檔

sudo vim /lib/systemd/system/frps.service

參考下面的設定檔格式修改

[Unit]
Description=FRP Server
After=network.target
Wants=network.target

[Service]
Restart=on-failure
RestartSec=5
ExecStart=/var/frps/frps -c /var/frps/frps.ini

[Install]
WantedBy=multi-user.target

啟動服務

sudo systemctl start frps.service //啟動 FRP Server 服務
sudo systemctl stop frps.service //停止 FRP Server 服務
sudo systemctl restart frps.service //重啟 FRP Server 服務
sudo systemctl enable frps.service //開機時自動啟動 FRP Server 服務
sudo systemctl disable frps.service //開機時不要啟動 FRP Server 服務
sudo systemctl status frps.service //查看FRP Server 狀態
sudo systemctl daemon-reload  // reload service
```

### 最後
發現網路速度反而比 Google Cloud 快,最後就把 Google Cloud當備援線路。

作者

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可

熱門文章

View all
Mark Ku
··603

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··440

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··323

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··239

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1
Mark Ku
··222

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取
Mark Ku
··199

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調