frp服务器端搭建与配置

解压压缩包并命重命名文件夹:
tar xzvf frp_0.29.0_linux_arm64.tar.gz
mv frp_0.29.0_linux_arm64.tar.gz

进入frp文件夹下:cd frp,修改frps.ini文件,例如设置http访问端口是8080(以下示例为 http 服务,https 服务配置方法相同, 服务器端的vhost_http_port 替换为vhost_https_port,客户端的type 设置为https 即可):

frps.ini

[common]

bind_port = 7000
vhost_http_port = 8080
之后启动frps:

控制台式启动,按ctrl+C停止

./frps -c ./frps.ini

后台启动,日志保存在nohup.out

nohup ./frps -c ./frps.ini &

frp客户端搭建与配置

修改文件frpc.ini,添加对应的web服务:

[common]

server_addr = x.x.x.x
server_port = 7000

[web]

type = http
local_port = 8089
custom_domains = www.your_domain.com

其中,x.x.x.x是你VPS的IP,端口是你服务器配置文件中配置bind_port,local_port则是你内网发布的web服务对应的端口,例如我内网服务是localhost:8089,最后的custom_domains则是你的域名,添加A记录解析到你的VPS的IP x.x.x.x上即可
通过浏览器访问 http://www.yourdomain.com:8080 即可访问到处于内网机器上的 web 服务。

如果你想用FRP与Nginx共用80端口,那么可以结合nginx做反向代理实现

服务器端nginx配置

server {
listen 80;
server_name www.your_domain.com;

location / { 
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header    Host            $host:80;
    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;
}   

}