最近,某第三方公司说我们封了frp, 为了证明我们没有,而是他们配置有问题。所以我利用自己的服务器部署来证明。
frp部署
frp Github frp分成 frps和frpc, frps与frps.ini配置文件是Server使用的,同理,frpc与frpc.ini配置文件是需要被内网穿透的机器(客户端)使用的。
以Ubuntu部署frps为例:
代码语言:javascript复制wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz
# 下载后解压
配置frps.ini
代码语言:javascript复制[common]
bind_port = 60000
vhost_http_port = 18080
token = 22N2UMYA4AL772BE1
bind_port是服务器端与客户端统一绑定的端口 vhost_http_port或者vhost_https_port 是映射到公网端口 token是密码,用于验证。
配置frpc.ini
代码语言:javascript复制[common]
server_addr = 156.146.88.125
server_port = 60000
token = 22N2UMYA4AL772BE1
tls_enable = true
[web]
type = http
local_ip = 192.168.1.101
local_port = 80
custom_domains = ppp.example.com
server_addr是服务端地址 [web]的内容是穿透到本地机器的web服务 custom_domains是绑定自定义域名
其中tls_enable并非必须,但是有时候如果没有添加这一行,会导致本机服务无法链接。 错误提示是:login to server failed: EOF
服务端启动服务
代码语言:javascript复制直接cd到解压后文件夹,然后在终端输入:
./frps -c ./frps.ini
服务端停止服务
代码语言:javascript复制netstat -tulpn
#找到端口对应的服务PID
#sudo kill -9 <PID>
sudo kill -9 12512
Windows客户端启动服务
代码语言:javascript复制D:frp>frpc.exe -c frpc.ini