准备
frp 文件下载地址传送门
下载完成后上传到服务器,只保留 frps 和 frps.ini 即可
修改配置文件
修改frps.ini文件
[common]
bind_port = 7000 # 绑定的端口
token = ***** # 加密token
vhost_http_port = 9000 # 这里80端口和nginx冲突,修改为9000端口
# vhost_https_port = 443
dashboard_user = shige # 管理面板用户
dashboard_pwd = ****** # 管理面板用户密码
dashboard_port = 7500 # 管理面板端口
启动
命令行进入 frps和frps.ini的目录执行下面的命令
./frps -c ./frps.ini
看到下面内容说明启动成功!
验证
浏览器输入 ip:7500 ,输入上面设置的用户名密码。
修改nginx配置
这里以宝塔安装的nginx为例,在nginx配置文件中添加下面内容,注意这里端口是上面配置的 vhost_http_port的端口
server {
listen 80;
server_name 127.0.0.1; # 改为自己的域名,没域名修改为127.0.0.1
charset utf-8;
client_max_body_size 50000m;
location /{
proxy_pass http://127.0.0.1:9000;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
}
开机启动配置
找打etc文件夹下的rc.local 文件
在rc.local文加下加入下面内容
/www/frp/frps -c //www/frp/frps.ini &
如图所示
执行命令
sudo chmod +x /etc/rc.d/rc.local
客户端下载
客户端下载传送门
这里我用的是windows的客户端,linux跟这个一样。
客户端只需要下面红色框中的两个文件
编辑配置文件
[common]
server_addr = 42.xx.xx.xx # 服务端的ip地址
server_port = 7000 # 服务端的端口 上面服务端的绑定端口
token = ****** # 与服务端的token一致
[ssh]
type = tcp
local_ip = 192.168.0.101 # 内网ip
local_port = 22 #
remote_port = 6000 #
[web]
type = http
local_port = 9200 # 要映射的端口,内网端口
custom_domains = cloud.mamq.top # 服务端的ip地址 这里我做了域名解析,下面同理,映射多个端口
[web1]
type = http
local_port = 9400
custom_domains = shige.mamq.top
[web2]
type = http
local_port = 9527
custom_domains = yjh.mamq.top
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 9200
[22port]
type = tcp
local_ip = 192.168.190.139
local_port = 22
remote_port = 9300
启动客户端
frpc -c frpc.ini
测试
centos系统下开机启动
vim /usr/lib/systemd/system/frpc.service
填写下面内容
[Unit]
Description=nacos
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
ExecStart=/www/frp/frpc -c /www/frp/frpc.ini # 这里换成自己的位置
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy=multi-user.target
开启开机启动
systemctl daemon-reload
systemctl enable frpc
启动结束命令
systemctl start frp
systemctl stop frp
systemctl status frp