天天看点

如何使用frp(Fast Reverse Proxy)将内网服务公开给外网测试

作者:AI易经研究

frp(Fast Reverse Proxy)是一个专门用于内网穿透的高性能的反向代理应用,可以帮助您将内网服务公开给外网进行测试。下面是一个简单的步骤和流程图,帮助您理解如何使用frp。

如何使用frp(Fast Reverse Proxy)将内网服务公开给外网测试

1. 理解frp的工作原理

frp的工作原理主要包括两个组件:frps(frp server)和frpc(frp client)。frps运行在公网服务器上,而frpc运行在内网服务器上。当内网服务需要被公开时,frpc会与frps建立连接,并将内网服务的流量通过这个连接转发到frps,然后frps将这个流量转发到公网。

如何使用frp(Fast Reverse Proxy)将内网服务公开给外网测试

公网用户首先访问 frps 服务端,然后 frps 服务端将请求转发给 frpc 客户端,最后 frpc 客户端将请求转发给内网服务。

2. 安装和配置frps

首先,您需要在公网服务器上安装和配置frps。您可以从frp的GitHub页面下载最新的frps二进制文件,并将其解压到您的服务器上。然后,您需要创建一个frps.ini配置文件,指定frps的监听端口和其他选项。

如何使用frp(Fast Reverse Proxy)将内网服务公开给外网测试

frps.ini 是 frps 服务端的配置文件,以下是其中一些核心的配置项目:

bind_port: 该配置项用于设置 frps 服务端监听的端口,frpc 客户端将通过此端口与 frps 服务端建立连接。

vhost_http_port 和 vhost_https_port: 这两个配置项用于设置 frps 服务端的 HTTP 和 HTTPS 端口,公网用户可以通过这两个端口访问内网服务。

dashboard_port 和 dashboard_user 和 dashboard_pwd: 这三个配置项用于设置 frps 服务端的仪表板(Dashboard)的端口以及登录用户名和密码。仪表板可以用于查看 frps 服务端的运行状态和统计信息。

token: 该配置项用于设置连接鉴权的 token,frpc 客户端在连接 frps 服务端时需要提供此 token。

max_pool_count: 该配置项用于设置每个代理可以创建的最大连接池数量。

log_file 和 log_level 和 log_max_days: 这三个配置项用于设置日志文件的路径、日志级别以及日志文件的最大保存天数。

以上是 frps.ini 文件中的一些核心配置项,具体的配置可能会根据你的实际需求有所不同。在配置 frps.ini 文件时,建议参考 frp 的官方文档以获取更详细的信息。

3. 安装和配置frpc

接下来,您需要在内网服务器上安装和配置frpc。您可以从frp的GitHub页面下载最新的frpc二进制文件,并将其解压到您的服务器上。然后,您需要创建一个frpc.ini配置文件,指定frpc要连接的frps服务器的地址和端口,以及您要公开的内网服务的地址和端口。

如何使用frp(Fast Reverse Proxy)将内网服务公开给外网测试

配置结束就可以通过 www.yourdomain.com访问了

frpc.ini 是 frpc 客户端的配置文件,以下是其中一些核心的配置项目:

server_addr 和 server_port: 这两个配置项用于设置 frps 服务端的 IP 地址和端口,这两个配置必须与 frps 服务端的 bind_port 配置相对应。

token: 该配置项用于设置连接鉴权的 token,这个配置必须与 frps 服务端的 token 配置相对应。

[common] 下的 login_fail_exit: 该配置项用于设置当登录失败时是否退出。如果设置为 false,那么当登录失败时,frpc 会不断重试直到登录成功。

[common] 下的 protocol: 该配置项用于设置用于连接 frps 的协议,可以是 tcp、kcp 或者 websocket。

[proxy_name]: 这是一个代理配置的开始,proxy_name 是代理的名称,可以自定义。

type: 该配置项用于设置代理的类型,可以是 tcp、udp、http、https 或者 stcp。

local_ip 和 local_port: 这两个配置项用于设置内网服务的 IP 地址和端口。

remote_port: 该配置项用于设置 frps 服务端的端口,公网用户可以通过这个端口访问内网服务。

以上是 frpc.ini 文件中的一些核心配置项,具体的配置可能会根据你的实际需求有所不同。在配置 frpc.ini 文件时,建议参考 frp 的官方文档以获取更详细的信息。

如何使用frp(Fast Reverse Proxy)将内网服务公开给外网测试

4. 安全性和高级配置

frp支持多种高级配置选项,包括流量加密、压缩、负载均衡和多用户支持。您可以在frps.ini和frpc.ini中配置这些选项。

此外,为了保护您的内网服务,您应该始终使用最新版本的frp,并定期检查frp的GitHub页面以获取安全更新。

如何使用frp(Fast Reverse Proxy)将内网服务公开给外网测试

有一些云服务提供商可能会提供免费的试用期或者免费的额度,您可以在这些云服务提供商上部署您自己的 frps 服务器。例如,Amazon AWS、Google Cloud Platform 和 Microsoft Azure 都提供了免费的试用期或者免费的额度。

如果您只是想进行一些简单的测试,您也可以在您自己的电脑上运行 frps 服务器,然后使用另一台电脑运行 frpc 客户端进行测试。这样,您就可以在您自己的局域网内进行测试,而不需要公网服务器。

请注意,无论您选择哪种方式,都需要确保您遵守了相关的使用条款和政策,以及确保了您的服务的安全和隐私。

继续阅读