frp服务配置

警告
本文最后更新于 2023-01-27,文中内容可能已过时。

##什么是frp## frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 **项目地址:**https://github.com/fatedier/frp ##特性##

  • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。 ##安装## 下载地址:https://github.com/fatedier/frp/releases 一般都是amd64 解压修改配置运行即可 服务器设置是frps.ini 客户端设置是frpc.ini 官方文档:https://gofrp.org/docs 提供的示例配置之一: ###通过自定义域名访问内网的 Web 服务###

这个示例通过简单配置 HTTP 类型的代理让用户访问到内网的 Web 服务。 HTTP 类型的代理相比于 TCP 类型,不仅在服务端只需要监听一个额外的端口 vhost_http_port 用于接收 HTTP 请求,还额外提供了基于 HTTP 协议的诸多功能。

  1. 修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:

    [common] bind_port = 7000 vhost_http_port = 8080

  2. 修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.xlocal_port 为本地机器上 Web 服务监听的端口, 绑定自定义域名为 custom_domains

    [common] server_addr = x.x.x.x server_port = 7000

    [web] type = http local_port = 80 custom_domains = www.yourdomain.com

    [web2] type = http local_port = 8080 custom_domains = www.yourdomain2.com 3.分别启动 frpsfrpc

4.将 www.yourdomain.comwww.yourdomain2.com 的域名 A 记录解析到 IP x.x.x.x,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。或者可以通过修改 HTTP 请求的 Host 字段来实现同样的效果。

5.通过浏览器访问 http://www.yourdomain.com:8080 即可访问到处于内网机器上 80 端口的服务,访问 http://www.yourdomain2.com:8080 则访问到内网机器上 8080 端口的服务。

自定义二级域名

在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。

通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。

只需要将 *.{subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}.{subdomain_host} 来访问自己的 web 服务。

假如域名为:abc.com 去域名的控制面板添加解析 *.frp121.35.99.12

0%