Frp内网穿透(http或者https都可以)

1.这两天公司在开发微信小程序的东西,需要后台提供https域名的 接口,测试及正式服务器倒是简单,因为已经配置了域名和证书,但是本地如何实现https的接口访问地址那?开始用的花生壳 那个坑呀,网络很不稳定 ,容易断.还好前人种树后人乘凉,已经有大佬给出解决方案了,那就是frp内网穿透工具.

2.frp的基本原理是这样的:利用公网中的机器 启动启动服务端,内网穿透的机器启动客户端,服务端与客户端通过 通信端口bind_port通信,服务端开启穿透内网机器的http_port端口号,访问外网机器的ip:port ,frp会将请求转发给 与客户端通信的bind_port端口, 服务端将请求转发给客户端的bind_port端口,bind_port再转发给 本地的http_port端口.简单来说就是以下这样:外网访问ip:http_port–>frp收到请求转发给–>frp服务端bind_port—>与frp客户端通信 -->frp 客户端bind_port收到消息—>转发给本地http_port端口–>完成请求

3.使用方法:frp在github上有中文教程(frp GitHub地址),安装方法这里就不赘述了.这里直接给出使用配置文件实例,frpc客户端与frps服务端通信端口使用的7000,frp网页管理界面使用7500端口,监听的http端口为8080端口(也是内网本地部署项目的端口)

frps.ini 公网服务器机器部署文件:

[common]
#服务器端端口
bind_port=7000
#客户端连接凭证
privilege_token=xxx
#最大连接数
max_pool_count=5

#客户端映射的端口
vhost_http_port = 8080

#服务器看板的访问端口
dashboard_port=7500
#服务器看板账户
dashboard_user=xxx
dashboard_pwd=xxx

frpc.ini

[common]
#服务器地址
server_addr=39.105.110.10
#服务器端口
server_port=7000
#服务器连接凭证
privilege_token=cjy799571572


[httpname]
type = http
local_port = 8080
local_ip = 127.0.0.1
custom_domains = xxx


4.启动服务端及客户端的命令如下
frps服务端 进入frp安装路径(公网机器是Centos系统阿里云) ./frps -c ./frps.ini
在这里插入图片描述
frpc客户端 frpc.exe -c frpc.ini
在这里插入图片描述

5.启动成功后 访问外网域名 xxx:port/webproject/xxx即可 映射到本地服务中,可能看完上面讲的,有些朋友会感到疑惑,https的方式 还没讲那,其实道理是一样的,只不过 需要把https的请求 通过nginx服务器代理转发给frp端,流程思路如下:访问https://xxx/webproject/xxx(https默认为443端口)---->nginx配置https请求转发 -->匹配到webproject路径 则转发给frps服务端的 8080端口(同时把请求替换为http请求) ----->后面frp使用http的方式一致.

6.管理界面如下

在这里插入图片描述

7.外网访问地址如下在这里插入图片描述

本地服务器接收到请求 返回验证码
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值