用frp内网穿透https网站

场景说明

在微信小程序上线测试的时候,自主开发的后端服务在公司局域网,小程序前端在微信公众平台只支持配置https协议的域名来访问服务端。公司一直在使用frp内网穿透工具实现公网访问公司局域网服务,因此,研究如何实现frp代理https请求,通过自定义域名访问部署于内网的 Web 服务。

1方式

frp只做请求穿透代理,frp客户端配置的目标服务器中使用nginx实现https的请求代理
这种方式frp配置简单,系统部署与正常部署相同,使用相对简单,因此选择这种方式实现。

frp
简单来说,就是可以随时随地通过有公网 IP 的服务器中转连接到运行 frpc 程序的任意机器的任意端口

2实现过程

经过测试,发现使用第一种方式实现最为简单。

2.1配置内网穿透,在frp服务端配置文件中启用https

服务端一般安装在公网服务器上

在这里插入图片描述

2.2配置内网穿透,在frp客户端配置文件中增加配置

客户端一般在需要被公网使用的局域网服务器上

type表示请求类型,httphttpstcp
local_ip表示本地服务器的ip地址
local_port表示本地服务器的端口
remote_port表示对公网远程请求暴露的端口
subdomain表示子域名,将拼在一级域名前,例如一级域名为 test.com,子域名为 frp-test,则实际域名为frp-test.test.com
在这里插入图片描述

配置完成后重启服务
查看当前的frp客户端进程,kill该进程

ps -ef|grep frp

在这里插入图片描述

kill 80305

后台运行frp客户端

nohup ./frpc -c ./frpc.ini >> /dev/null 2>&1 &

2.3 申请ssl证书

阿里云免费ssl证书申请参考

2.4 在nginx中配置ssl证书

在阿里云SSL证书列表中下载Nginx服务器的文件,上传到在frp客户端配置的穿透的内网目标服务器上安装的Nginx的目录下,例如/etc/nginx/cert/。
在frp客户端配置的穿透的内网目标服务器上安装的Nginx中配置代理,将域名与证书配置到相应的https配置。
在这里插入图片描述

问题解决

部署成功后,使用域名和frp配置的https服务端代理端口访问无响应,检查frp服务端所在的公网云服务器的安全组配置中是否开放frp配置的https服务端代理端口。例如配置的端口是4430,需要手动添加4430端口的安全组规则,一般默认使用443端口。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值