一、獲取frp軟件
- Frp
下載地址
(https://github.com/fatedier/frp/releases) - 使用scp上傳Frp包到服務器(有公網IP的服務器 ,例如1.1.1.1)
ssh frp_***_linux_amd64.tar.gz [email protected]:/home/ubuntu/
- 使用scp上傳Frp包到客戶端(內網服務器,例如 2.2.2.2)
ssh frp_***_linux_amd64.tar.gz [email protected]:/home/ubuntu/
- frp安裝到/opt/frp/目錄 (服務器和客戶端一致)
sudo mkdir /opt/frp sudo cp frp_***_linux_amd64.tar.gz /opt/frp cd /opt/frp tar xvf frp_***_linux_amd64.tar.gz sudo rm *.gz
二、服務器配置
- 配置服務器
frps.ini
[common] # 綁定服務器本機的端口 bind_port = 7000 #客戶端http服務通過下面端口轉發到公網 vhost_http_port = 7001 vhost_https_port = 7002 # 自己的域名 subdomail_host = www.yourdomain.com
- 啓動frps測試
./frps -c ./frps.ini
- 添加frps開機自啓動
nano /etc/systemd/system/frps.service
[Unit] Description=frps service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/opt/frp/frp_0.32.1_linux_amd64/frps -c /opt/frp/frp_0.32.1_linux_amd64/frps.ini [Install] WantedBy=multi-user.target
sudo systemctl enable frps.service
- 安裝nginx
配置nginx端口代理httpssudo apt install nginx
nano /etc/nginx/sites-available/frps.conf
刪除nginx默認代理配置#server { ## listen 80; # server_name www.yourdomain.com; # rewrite ^ https://$http_host$request_uri? permanent; # server_tokens off; #} server { listen 443 ssl; server_name www.yourdomain.com; charset utf-8; ssl_certificate /home/ubuntu/ssl_cert/cacert.pem; ssl_certificate_key /home/ubuntu/ssl_cert/privkey.pem; ssl_dhparam /etc/nginx/dhparam.pem; ssl_session_timeout 5m; ssl_session_cache shared:SSL:5m; location / { resolver 8.8.8.8; proxy_ssl_server_name on; proxy_pass https://$host:7002; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_hide_header X-Powered-By; access_log /var/log/nginx/frps.log; error_log /var/log/nginx/frps_err.log; } }
創建符號鏈接$ sudo rm /etc/nginx/sites-enabled/default
重啓nginx$ sudo ln -s /etc/nginx/sites-available/frps.conf /etc/nginx/sites-enabled/frps.conf
$ sudo nginx -s reload
三、客戶端配置
- 配置服務器
frpc.ini
[common] # 服務器地址 server_addr = 1.1.1.1 # 服務器開啓的端口 server_port = 7000 # 開啓ssh [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 # 遠程ssh端口 remote_port = 6000 # 開啓http服務 [web] type = http local_port = 80 # 我們自己的域名,可以通過這個域名訪問這個機器 custom_domains = www.yourdomain.com # 開啓https服務 [web1] type = https local_port = 443 custom_domains = www.yourdomain.com
- 啓動frpc測試
./frpc -c ./frpc.ini
- 添加frpc開機自啓動
nano /etc/systemd/system/frpc.service
[Unit] Description=frpc service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/opt/frp/frp_0.32.1_linux_amd64/frpc -c /opt/frp/frp_0.32.1_linux_amd64/frpc.ini [Install] WantedBy=multi-user.target
sudo systemctl enable frpc.service