欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-02 10:21:54
...

环境要求:

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:[email protected]192.168.1.128:8080
# http_proxy = socks5://user:[email protected]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的话需要拥有证书,不然代理会出错。。。

相关标签: 教程