mac和centos编译部署frp实现http内网穿透

环境要求:

linux : gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
mac : Apple LLVM version 10.0.0 (clang-1000.11.45.5)


第一步:安装Go
1. 都是使用第三方的包管理工具进行安装,centos使用yum安装,mac使用brew安装
2. 安装命令:
  • centos:yum install -y go
  • mac:brew install go
3. 注意点:如果使用yum安装速度很慢的话,可以使用国内的下载源进行加速,具体操作如下:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

第二步:编译frp,mac和linux操作相同
1. 从github上拉取源码git clone https://github.com/fatedier/frp.git
2. 进入目录,使用make 进行编译
3. 注意点:在编译的过程中go会下载第三方的库,这个时候如果你的网访问不了要下载的库的网址的话,make会失败。解决方法如下:
export GO111MODULE=on
export GOPROXY=https://goproxy.io

第三步:配置frp

编译成功之后,可以发现make的目录下多了一个bin文件夹,进入其中可以看到如下文件,其中frpc是客户端(client),frps是服务器端(server)

-rwxr-xr-x 1 root root 12586997 3月  13 19:17 frpc
-rwxr-xr-x 1 root root 13420350 3月  13 19:17 frps

这里是要将mac上的8080端口暴露到外网上,因此借助云主机centos当服务端来进行操作。

服务端配置

在bin目录下新建一份frps.ini文件,并写入以下内容,具体配置文件可以去frp的github项目查看

[common]
#frp服务器监听地址,如果是IPV6地址必须用中括号包围
bind_addr = 0.0.0.0
#frp服务器监听端口
bind_port = 7000
#kcp的udp监听端口,如果不设那就不启用
#kcp_bind_port = 7000
#指定使用的协议,默认tcp,可选kcp
#protocol = kcp
#如果要使用vitual host,就必须设置
vhost_https_port = 4430
vhost_http_port=800
privilege_mode = false
#Web后台监听端口
dashboard_port = 7777

#Web后台的用户名和密码
dashboard_user = xxx
dashboard_pwd = xxx

#Web后台的静态资源目录,调试用的,一般不设
#assets_dir = ./static

#日志输出,可以设置为具体的日志文件或者console
log_file = ./frps.log

#日志记录等级,有trace, debug, info, warn, error
log_level = debug
#日志保留时间
log_max_days = 3

#启用特权模式,从v0.10.0版本开始默认启用特权模式,且目前只能使用特权模式
#privilege_mode = true
#特权模式Token,请尽量长点且复杂
privilege_token = 12345678
#特权模式允许分配的端口范围
#privilege_allow_ports = 2000-3000,3001,3003,4000-50000
#心超时,不用改
#heartbeat_timeout = 90
#每个代理可以设置的连接池上限
#max_pool_count = 5
#认证超时时间,一般不用改
#authentication_timeout = 900
#如果配置了这个,当你的模式为http或https时,就能设置子域名subdomain
subdomain_host = 
#是否启用tcp多路复用,默认就是true,不用管
#tcp_mux = true

实际上也不用像上面配置那么多,只需要选取最上面几个配置即可,这里只是贴一下完整配置

启动 ./frps -c frps.ini

客户端配置

在bin目录下新建一份frpc.ini文件,并写入以下内容,具体配置文件可以去frp的github项目查看

[common]
server_addr = madongyu.ml
server_port = 7000
#if you want to connect frps by http proxy or socks5 proxy, you can set http_proxy here or in global environment variables
# it only works when protocol is tcp
# http_proxy = http://user:passwd@192.168.1.128:8080
# http_proxy = socks5://user:passwd@192.168.1.128:1080
# console or real logFile path like ./frpc.log
#log_file = ./frpc.log
# trace, debug, info, warn, error
log_level = debug
#log_max_days = 3
#启用压缩
use_compression = true
# for authentication
privilege_token = 12345678
#无法使用
#token = 12345678

#http代理
[HTTP]
type = http
local_ip = 127.0.0.1
local_port = 8080
#自己的域名
custom_domains = xxxx
remote_port = 800

启动 ./frpc -c frpc.ini

注意点: 记得配置好防火墙,否则代理会失败,域名没有备案的话无法使用http进行访问,而使用https的话需要拥有证书,不然代理会出错。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值