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

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

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

frp[1] 是一個專注于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議。可以將內(nèi)網(wǎng)服務(wù)以安全、便捷的方式通過具有公網(wǎng) IP 節(jié)點的中轉(zhuǎn)暴露到公網(wǎng)。

本文將以暴露內(nèi)網(wǎng) Web 服務(wù)為例,實踐 frp 的安裝部署。更多應(yīng)用場景,可見 frp 示例[2]

安裝

frp 主要由 客戶端(frpc) 和 服務(wù)端(frps) 組成,服務(wù)端通常部署在具有公網(wǎng) IP 的機器上,客戶端通常部署在需要穿透的內(nèi)網(wǎng)服務(wù)所在的機器上。

可以在 Github 的 Release[3] 頁面中下載到最新版本的客戶端和服務(wù)端二進制文件。

本文公網(wǎng)、內(nèi)網(wǎng)機器都是 linux x86_64,所以選擇了 frp_0.39.0_linux_amd64.tar.gz。解壓:

$ tar xzvf frp_0.39.0_linux_amd64.tar.gz
frp_0.39.0_linux_amd64/
frp_0.39.0_linux_amd64/frps
frp_0.39.0_linux_amd64/frps_full.ini
frp_0.39.0_linux_amd64/systemd/
frp_0.39.0_linux_amd64/systemd/[email protected]
frp_0.39.0_linux_amd64/systemd/[email protected]
frp_0.39.0_linux_amd64/systemd/frpc.service
frp_0.39.0_linux_amd64/systemd/frps.service
frp_0.39.0_linux_amd64/LICENSE
frp_0.39.0_linux_amd64/frpc.ini
frp_0.39.0_linux_amd64/frpc_full.ini
frp_0.39.0_linux_amd64/frps.ini
frp_0.39.0_linux_amd64/frpc

公網(wǎng)

拷貝 frps 文件進公網(wǎng)機器,假設(shè)其 IP 為 x.x.x.x:

scp frps* [email protected]:

修改 frps.ini 文件,設(shè)置監(jiān)聽 HTTP 請求端口為 8080:

cat <<-EOF > ~/frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
EOF

安裝 supervisor 進行部署,后臺長期運行:

# 安裝 supervisor
sudo apt install supervisor -y

# 添加配置
sudo -i
cat <<-EOF >> /etc/supervisor/supervisord.conf

[program:frps]
directory=/home/ubuntu
command=/home/ubuntu/frps -c /home/ubuntu/frps.ini
priority=999
autostart=true
autorestart=true
startsecs=10
startretries=3
stdout_logfile=/var/log/frps_out.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/frps_err.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
environment=
nocleanup=false
EOF
exit

# 更新服務(wù)
sudo supervisorctl update all

# 查看服務(wù)
sudo supervisorctl status all

內(nèi)網(wǎng)

拷貝 frpc 文件進內(nèi)網(wǎng)機器,假設(shè)其 IP 為 192.168.1.100:

scp frpc* [email protected]:

修改 frpc.ini 文件,假設(shè) frps 所在的服務(wù)器的 IP 為 x.x.x.x,local_port 為本地機器上 Web 服務(wù)監(jiān)聽的端口, 綁定自定義域名為 custom_domains。

cat <<-EOF > ~/frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 8000
custom_domains = www.yourdomain.com
EOF

將 www.yourdomain.com 的域名 A 記錄解析到 IP x.x.x.x。

如果服務(wù)器已經(jīng)有對應(yīng)的域名,也可以將 CNAME 記錄解析到服務(wù)器原先的域名。或者可以通過修改 HTTP 請求的 Host 字段來實現(xiàn)同樣的效果。

簡單運行服務(wù),進行測試:

# 運行 HTTP 服務(wù)
Python3 -m http.server 8000

# 運行 frpc 服務(wù)
./frpc -c ./frpc.ini

# 訪問測試
curl http://www.yourdomain.com:8080/

以 systemd 進行部署,后臺長期運行:

# 拷貝文件
sudo cp frpc /usr/bin/frpc
sudo mkdir -p /etc/frp
sudo cp frpc.ini /etc/frp/frpc.ini

# 添加配置(frp 給的 systemd 配置)
sudo -i
cat <<-EOF > /etc/systemd/system/frpc.service
[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
EOF
exit

# 重載配置
sudo systemctl daemon-reload

# 開機啟動
sudo systemctl enable frpc.service

# 啟動服務(wù)
sudo systemctl start frpc.service

# 查看狀態(tài)
sudo systemctl status frpc.service

GoCoding 個人實踐的經(jīng)驗分享,可關(guān)注公眾號!

腳注

[1] frp: https://github.com/fatedier/frp

[2] frp 示例:
https://gofrp.org/docs/examples/

[3] Release: https://github.com/fatedier/frp/releases

分享到:
標簽:FRP
用戶無頭像

網(wǎng)友整理

注冊時間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

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

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

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

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定