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;
}
}