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進行區別