最近在做的项目需要用到frp来做代理连接本地内网机,卡在最后启动客户端的时候,提示报错:login to server failed: dial tcp xxxx:7000: connect: connection refuseddial tcp xxxx:7000: connect: connection refused!!找了很多尝试的办法,现在给大家列一下希望对大家有帮助。

  1. frp基本用法

下载frp

搜索github下载到frp,服务端frps/客户端frpc。。下载的时候要注意自己本地内网机的cpu版本和服务端cpu架构

我的电脑是mac M1PRO版本 下载的是:darwinarm64

服务器是X86_64(centos服务器查看cpu架构的指令是:uname -m)下载的是:linux_amd64

1.修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:

[common]
bind_port = 7000
vhost_http_port = 8080

2.修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 Web 服务监听的端口, 绑定自定义域名为 custom_domains。

 [common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com

[web2]
type = http
local_port = 8080
custom_domains = www.yourdomain2.com

3.分别启动 frps 和 frpc。

4.将 www.yourdomain.com 和 www.yourdomain2.com 的域名 A 记录解析到 IP x.x.x.x,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。或者可以通过修改 HTTP 请求的 Host 字段来实现同样的效果。

5.通过浏览器访问 http://www.yourdomain.com:8080 即可访问到处于内网机器上 80 端口的服务,访问 http://www.yourdomain2.com:8080 则访问到内网机器上 8080 端口的服务。

先启动服务端frps,启动指令:

nohup ./frps -c frps.ini >/dev/null 2>&1 &

客户端启动指令:

./frpc -c frpc.ini

2.启动客户端的时候遇到问题:login to server failed: dial tcp xxxx:7000: connect: connection refuseddial tcp xxxx:7000: connect: connection refused

解决问题:

先查看服务端有没有正常启动成功,成功提示如下:

frps uses config file: frps.ini
frps tcp listen on 0.0.0.0:7000
http service listen on 0.0.0.0:8080
frps started successfully

客户端启动时提示:

login to server failed: dial tcp xxxx:7000: connect: connection refuseddial tcp xxxx:7000: connect: connection refused

  1. 检查服务器有没有放行7000和8080端口

  1. 检查contos服务器防火墙有没有开放7000和8080端口

1.开放7000端口

firewall-cmd --zone=public --add-port=7000/tcp --permanent 

2.配置立即生效

firewall-cmd --reload  

3.查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

再次在本地客户端上启动:./frpc -c frpc.ini

问题解决!!!!

GitHub 加速计划 / fr / frp
83.04 K
13 K
下载
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
最近提交(Master分支:3 个月前 )
4383756f 10 天前
6ba849fc 18 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐