frp实现http内网穿透(可用于微信测试)

官网github地址:https://github.com/fatedier/frp
用go安装(客户端MAC;服务端centos7以上):

1,先安装go
centos:yum install -y go
mac:brew install go

Tap:如果yum慢,可以换源,如下:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

Tap2:如果mac下brew慢,也可以换源,我有文章教程

2,编译frp
A. 从github上拉取源码git clone https://github.com/fatedier/frp.git
B. 进入目录,使用make 进行编译

Tap:在编译的过程中go会下载第三方的库,如果make失败的话。运行以下两条命令:
export GO111MODULE=on
export GOPROXY=https://goproxy.io

3,配置

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

服务端配置
在bin目录下新建frps.ini文件,粘贴以下内容

[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)

[common]
server_addr = <你服务器的IP>
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 = <你的域名,如:test.gaotengjiao.com,域名解析到你的服务器!!!>
remote_port = 800

启动客户端./frpc -c frpc.ini

运行本地8080端口的程序,访问http://YOUR DOMAIN:800

Tap:如果有问题,请检查防火墙是否开启相应端口


nginx反向代理去掉frp的访问端口

1,服务器安装nginx(不赘述,找度娘);
2,配置nginx,新增frp.conf,内容如下:

#FRP测试
    server {
       listen 80;
       server_name **.***.***; # 填写你的域名
       location / {
           proxy_pass http://127.0.0.1:8088; # 填写frps的http端口
           proxy_redirect http://host/ http://http_host/;
           proxy_set_header X-Real-IP remote_addr;
           proxy_set_header X-Forwarded-Forproxy_add_x_forwarded_for;
           proxy_set_header Host $host;
       }
    }

未经允许不得转载:高腾蛟 » frp实现http内网穿透(可用于微信测试)

赞 (0)
分享到:更多 ()

相关推荐

    暂无内容!

评论 0

评论前必须登录!

登陆 注册