FRP服务 内网穿透

部署FRP服务 实现内网穿透

先抛出几个问题

1.我们有在本地开发的某一个 B/S 程序,希望给客户直接在线演示,怎么办?
2.程序在内部开发调试阶段,对于某一个具体的测试问题,我不想发布到生产,
  只是想测试帮忙先看一下,OK 了后,我再发布,这样怎么办?
3.微信公众号开发,现在这么火,烦人的,我需要调用微信公众号的接口,但微信的接口服务配置时,
  只接受一个公网的认证链接,这时候,难道我真的要每开发一个很小的变动,调试时仍需要不停的与线上部署服务器进行改动同步,
  就没有更简单的开发调试方法了吗?
  • 现在来了,这些似乎难以搞定的事情,好像现在都有一定的共同性:

1.我的资源在内网环境,而且这样是为了方便我本人很好的修改,并对不同的需求进行快速的响应。
2.我需要将我本地的相关内容公开到公网环境去,方便相关的人直接查看到我本地的效果
3.与相关的第三方对接时,第三方只能识别公网上的相关资源,而不能穿透内网

什么是 frp

frp 是一个高性能反向代理应用,可用于实现内网穿透,支持 TCP、UDP、HTTP、HTTPS 等协议,以此将内网资源对外网提供服务。 其中更详细的一些介绍,以及使用细节,官方的《中文文档》 有很详细的解释和说明,大家也可以直接参考。

准备

  • 1.拥有公网 IP 的服务器
  • 2.备案的域名
  • 3.一台个人PC

服务端环境搭建

在网方的发布平台 releases,我们下载最新的发布版本(当前最新的版本为 V0.27.0)。其中我们需要选择对应的版本,服务器常见的系统环境版本,一般为 linux 64 位,因此,我们一般情况选择:frp_0.27.0_linux_amd64.tar.gz。
服务端解压目录机构,如下图。 图片

frp 配置

[common]
# 服务端控制面板访问账号和密码,不设置则默认admin
#注意以及几个是我随便填写的,请根据自己的实际情况,自行修改。
dashboard_user = admin
dashboard_pwd = admin
# 客户端连接令牌
privilege_token = 12345678
# 路由地址
subdomain_host = xxxxguyawei.top

###########下列配置默认即可,无需改动###############
#穿透监听端口与地址(0.0.0.0表示允许任何地址)
bind_addr = 0.0.0.0
bind_port = 6009
# udp协议监听端口
#bind_udp_port = 7001
#udp协议支持kcp模式。kcp的运行端口,不设置表示禁用。可以与'bind_port'端口一致
#kcp_bind_port = 6009
#虚拟主机穿透监听端口(指http与https的访问端口)
vhost_http_port = 6010
#vhost_https_port = 443
#服务端控制面板访问端口
dashboard_addr = 0.0.0.0
dashboard_port = 6008
# frp日志记录路径
log_file = ./frps.log
# 日志记录级别(trace, debug, info, warn, error)
log_level = info
# 日志记录滚动天数
log_max_days = 3
# 客户端与服务端连接心跳检测
heartbeat_timeout = 90
# 允许客户端使用的穿透端口,不设置则全部允许
#allow_ports = 1000-100000
# 穿透服务允许的连接数
max_pool_count = 5
# 单个客户端允许建立的穿透服务,0为不限制
max_ports_per_client = 0
# 连接超时
authentication_timeout = 900
# tcp流多路复用(可以理解为优化传输) 
tcp_mux = true

nginx 反向代理配置

其中,因为我的服务器上有相关其他的程序共用,80 端口上交给了 nginx ,而在微信的接口配置时,只能是 80 or 443 端口,因此,这里我还借用了 nginx 的反向代理功能,配置如下: 图片

这里启用了泛域名解析,考虑的是,这个服务开启后,我们可以通过这种方式提供给多人使用,不同的人员,可以启用一个对应的子域名,如:张三(zhangsan.guyawei.top)、李四(lisi.guyawei.top)

服务端启动

# 常规启动
./frps -c frps.ini
# 或者,使用 nohup 方式,启用后台运行模式,这样就可以避免命令行工具关闭后,服务中断的情况
nohup ./frps -c frps.ini &

客户端环境搭建

客户端在配置之前,同样的请在官方下载与自己系统对应的程序包,frp_0.27.0_windows_amd64.tar.gz 解压出其中的客户端程序(frpc.exe)和配置文件(frpc.ini)

客户端环境配置

[common]
server_addr = 106.15.235.215
# 与服务端配置信息 bind_port 相同
server_port = 6009
# 与服务端配置信息 privilege_token 相同
privilege_token = 12345678

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web1]

type = http

local_ip = 127.0.0.1

local_port = 6010

#remote_port = 7779
subdomain = tunnel

custom_domains = guyawei.top

客户端启动

.\frpc.exe -c frpc.ini 图片

启动本地6010端口程序,用域名访问即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值