最近需要联调下阿里云OSS的上传回调功能,由于代码部署在内网无法直接通过公网IP/域名来联调;也不方便直接把代码部署到公网上。
之前安卓手机搭建nextcloud时用到过Frp,并且手上也有一台公网服务器,于是就开始了自建Frp之旅。
安装
首先去github找下最新的frp安装包:传送门
| 12
 
 | $ wget https://github.com/fatedier/frp/releases/download/v{VERSION}/frp_{VERSION}_linux_amd64.tar.gz$ tar -xzvf frp_0.21.0_linux_amd64.tar.gz
 
 | 
服务端保留这两个文件
frps frps.ini
客户端保留这两个文件
frpc frpc.ini
配置
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | [common]#frp服务端端口(必须)
 bind_port = 7777
 #http端口设置(web访问时加上的端口号)
 vhost_http_port = 8888
 #客户端连接令牌(增强安全性,建议设置 与客户端配置的token一致)
 token = ***************
 #显示的日志级别
 log_level = info
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | [common]server_addr = xxx.xxx.xxx.xxx    #frp服务端地址,必须是公网ip或者域名,这里假设为xxx.xxx.xxx.xxx
 server_port = 7777    #frp服务端端口,即填写服务端配置中的 bind_port
 
 token = ***************    #客户端连接令牌(增强安全性,建议设置 与服务端配置的token一致)
 
 admin_addr = 127.0.0.1    # 客户端本地启动一个admin-ui的web面板,能够看到一些客户端信息
 admin_port = 7400         # 当前配置的访问地址为 127.0.0.1:7400 用户名admin 密码123456
 admin_user = admin
 admin_pwd = 123456
 
 [web]
 type = http                      # 连接类型
 local_ip = xxx.xxx.xxx.xxx       # 内网IP
 local_port = 8080                # 内网端口
 custom_domains = xxx.xxx.xxx.xxx # frp访问的域名
 http_user = admin                # 开启http auth 可以不选
 http_pwd = 123456                # 如果选择了进入网页就会显示弹窗提示输入用户名、密码
 
 | 
开放bind_port和vhost_http_port的TCP入方向访问
如果需要限定只能某个IP访问,安全组规则的授权对象设置为IP/32即可。
运行 && 停止
| 12
 3
 
 | nohup ./frps -c frps.ini &
 nohup ./frpc -c frpc.ini &
 
 | 
| 12
 3
 4
 
 | ps -aux|grep frps| grep -v grep | awk '{print $2}'ps -aux|grep frpc| grep -v grep | awk '{print $2}'
 
 kill -9  进程号
 
 | 
相关问题
如果遇到nohup: failed to run command ‘XXX’: Permission denied时,先给那个文件赋予执行权限chmod a+x ./xxx