你們好我是不同的科技宅,天天進步一點點,體驗不同的生活。今天給你們帶來的是用 frp 搭建屬於本身的內網穿透,方便在咱們平常的開發中進行調試。同時是 frp 是開源而且是免費的,只須要一臺雲服務器便可搭建。linux
Frp 是一種快速反向代理,可幫助您將 NAT 或防火牆後面的本地服務器公開到 Internet。 到目前爲止,它支持 TCP 和 UDP 以及 HTTP 和 HTTPS 協議,在這些協議中,請求能夠經過域名轉發到內部服務。git
frp 還具備 P2P 鏈接模式。github
以我本身的服務器 Centos 爲例下載frp_linux_amd64shell
wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
tar -zxvf frp_0.31.1_linux_amd64.tar.gz
[root@VM_10_197_centos frp_0.31.1_linux_amd64] -rwxrwxr-x 1 1000 1000 10608640 1月 6 16:02 frpc -rw-rw-r-- 1 1000 1000 7447 1月 6 16:04 frpc_full.ini -rw-rw-r-- 1 1000 1000 126 1月 6 16:04 frpc.ini -rwxrwxr-x 1 1000 1000 11333632 1月 6 16:02 frps -rw-rw-r-- 1 1000 1000 2514 1月 6 16:04 frps_full.ini -rw-rw-r-- 1 1000 1000 26 1月 6 16:04 frps.ini -rw-rw-r-- 1 1000 1000 11358 1月 6 16:04 LICENSE drwxrwxr-x 2 1000 1000 4096 1月 6 16:04 systemd
rm -f frpc rm -f frpc.ini rm -f frpc_full.ini rm -f systemd/frpc.service rm -f systemd/frpc@.service
修改 frps.ini 文件,設置 http 訪問端口爲 8080vim
# frps.ini [common] bind_port = 7000 #服務啓動佔用端口 vhost_http_port = 8080 #進行轉發端口
./frps -c ./frps.ini
vim systemd/frps.service
[Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=nobody Restart=on-failure RestartSec=5s # 這裏須要根據frps的安裝路徑,進行更改 ExecStart=/home/frp/frps -c /home/frp/frps.ini [Install] WantedBy=multi-user.target
cp systemd/frps.service /etc/systemd/system/
注意:雲服務器安全組以及防火牆須要開啓對應的端口centos
# 啓動測試 systemctl start frps.service # 查看啓動狀態 systemctl status frps.service # 中止 systemctl stop frps.service # 開機自啓 systemctl enable frps.service
下載客戶端並解壓frp_darwin_amd64
過程能夠參考服務端安裝過程。安全
curl -O --insecure https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_darwin_amd64.tar.gz
rm -f frps rm -f frps.ini rm -f frps_full.ini rm -f systemd/frps.service rm -f systemd/frps@.service
vim frpc.ini
[common] server_addr = xxx.xxx.xxx.xxx(服務器公網ip) server_port = 7000 [web] type = http # 本地web服務端口 local_port = 9090 custom_domains = www.xxxxxx.com(自定義域名)
注意:自定義域名須要解析到對應的服務器 ip 不然沒法正常使用服務器
./frpc -c ./frpc.ini
啓動成功信息dom
2020/02/02 12:26:14 [I] [proxy_manager.go:144] [fd88aa5c4087afc9] proxy added: [web] 2020/02/02 12:26:14 [I] [control.go:164] [fd88aa5c4087afc9] [web] start proxy success
看到啓動成功信息,這裏就已經完成本地 web 服務進行內網穿透了。
咱們能夠在任意位置訪問咱們的本地 web 服務,經過訪問http://www.xxxxxx.com:8080就能夠達到訪問http://localhost:9090的目的了。
爲了安全起見咱們能夠在進行鏈接時設置 token,當客戶端和服務端 token 一致時才能夠成功創建鏈接,添加方式只須要在服務端和客戶端[common]下添加 token 配置便可:
# 認證token token = 12345678
開啓 dashboard 只須要在服務端[common]添加如下配置便可,同時不要忘記對安全組開放端口。
dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin
訪問地址:http://serverIp:7500
若是以爲對你有幫助,能夠多多評論,多多點贊哦,也能夠到個人主頁看看,說不定有你喜歡的文章,也能夠隨手點個關注哦,謝謝。