frp内网穿透(二)
frp内网穿透(二)
前言
前篇内网穿透
上面一文中已描述如何安装frp进行内网穿透,并配置ssh穿透连接内网服务器,本篇主要介绍如何配置web服务
使用场景
A服务器为公网服务器,B服务器为家庭中内网服务器,且B服务器上运行了2个web服务,最终目的是通过网外直接访问两个web应用,且不暴露web服务接口端口
一、环境准备
B服务器(内网服务器)上运行了2个web服务:
- web1:前端nginx监听端口8001,后端接口端口8002
- web2: 前端nginx监听端口9001,后端接口端口9002
域名一个
- 示例 aaa.fun
二、配置步骤
1.frp server配置
A服务器作为frp server服务器,首先绑定域名,编辑frps.ini
[common]
subdomain_host=aaa.fun
同时在域名控制台,将域名aaa.fun解析到A服务器ip
2.frp client配置
在B服务器frp client中增加配置
这里需要明确,对于一个web应用来说,既要穿透前端访问地址,也需要穿透后端接口地址
编辑frpc.ini
[web1 front]
type=http
local_ip=127.0.0.1
local_port=8001
subdomain=web1
subdomain=web1,表明通过访问web1.aaa.fun,达到访问B服务器ip:8001的目的
继续编辑frpc.ini
[web1 java]
type=http
local_ip=127.0.0.1
local_port=8002
subdomain=black1
subdomain=black1,表明通过访问balck1.aaa.fun,达到访问B服务器ip:8002的目的
web2同理
3.重启
重启A服务器的frp server:systemctl restart frps.service
重启B服务器的frp client:systemctl restart frpc.service
4.效果
浏览器访问
web1.aaa.fun,能到达web1应用,f12打开接口,后端地址black1.aaa.fun/
web1.aaa.fun,能到达web2应用,f12打开接口,后端地址black2.aaa.fun/
三.总结
- 其实如果不介意在地址栏存在端口,或者是后端接口地址带有端口的话,可以不用域名
- 关于frpc.ini/frps.ini有哪些配置,可以在frpc_full.ini/frps_full.ini中查看,不同版本之间,有所差异
- 对于一个web应用,也可以只配置一次穿透,前端和后端,使用同一个域名地址,通过nginx进行区别