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.外网访问地址如下在这里插入图片描述

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

原文链接:https://blog.csdn.net/qq_33135813/article/details/87544509

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享