这个示例通过简单配置 HTTP 类型的代理让用户访问到内网的 Web 服务。
HTTP 类型的代理相比于 TCP 类型,不仅在服务端只需要监听一个额外的端口 vhost_http_port 用于接收 HTTP 请求,还额外提供了基于 HTTP 协议的诸多功能。
修改frps.ini
文件,设置监听HTTP请求端口为8080:
[common]
bind_port = 7000
vhost_http_port = 8080
修改 frpc.ini文件,假设frps所在的服务器的IP为x.x.x.x
,local_port
为本地机器上 Web 服务监听的端口, 绑定自定义域名为 custom_domains。
[common]
server_addr = x.x.x.x
server_port = 7000
[web]
type = http
local_port = 80
custom_domains = www.ifcp.cn
[web2]
type = http
local_port = 8080
custom_domains = www.ifcp2.cn
分别启动 frps 和 frpc。
将 www.ifcp.cn
和www.ifcp2.cn
的域名 A 记录解析到IP x.x.x.x,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。或者可以通过修改 HTTP 请求的 Host 字段来实现同样的效果。
通过浏览器访问http://www.ifcn.cn:8080
即可访问到处于内网机器上 80 端口的服务,访问 http://www.ifcp2.cn:8080
则访问到内网机器上 8080 端口的服务。