如果公司内网防火墙对外网访问进行了流量识别与屏蔽,例如禁止了 ssh 协议等,通过设置 use_encryption = true,将 frpc 与 frps 之间的通信内容加密传输,将会有效防止流量被拦截 。
如果传输的报文长度较长,通过设置 use_compression = true 对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 cpu 资源 。
TLS从 v0.25.0 版本开始 frpc 和 frps 之间支持通过 TLS 协议加密传输 。通过在 frpc.ini 的 common 中配置 tls_enable = true 来启用此功能,安全性更高 。
为了端口复用,frp 建立 TLS 连接的第一个字节为 0x17 。
通过将 frps.ini 的 [common] 中 tls_only 设置为 true,可以强制 frps 只接受 TLS 连接 。
【开源内网穿透工具,支持https,网络开发好助手】注意: 启用此功能后除 xtcp 外,不需要再设置 use_encryption 。
客户端热加载配置文件当修改了 frpc 中的代理配置,可以通过 frpc reload 命令来动态加载配置文件,通常会在 10 秒内完成代理的更新 。
启用此功能需要在 frpc 中启用 admin 端口,用于提供 API 服务 。配置如下:
# frpc.ini[common]admin_addr = 127.0.0.1admin_port = 7400之后执行重启命令:
frpc reload -c ./frpc.ini
等待一段时间后客户端会根据新的配置文件创建、更新、删除代理 。
需要注意的是,[common] 中的参数除了 start 外目前无法被修改 。
通过密码保护你的 web 服务由于所有客户端共用一个 frps 的 http 服务端口,任何知道你的域名和 url 的人都能访问到你部署在内网的 web 服务,但是在某些场景下需要确保只有限定的用户才能访问 。
frp 支持通过 HTTP Basic Auth 来保护你的 web 服务,使用户需要通过用户名和密码才能访问到你的服务 。
该功能目前仅限于 http 类型的代理,需要在 frpc 的代理配置中添加用户名和密码的设置 。
# frpc.ini[web]type = httplocal_port = 80custom_domains = test.yourdomain.comhttp_user = abchttp_pwd = abc通过浏览器访问 http://test.yourdomain.com,需要输入配置的用户名和密码才能访问 。
推荐阅读
- API接口管理,这15种开源工具助你管理API
- 30名工程师,历时1300天打造,又一“国产”AI框架开源了
- Linux环境下100个开源免费专业软件推荐之17款产品应用软件1-10
- Gitee大神们的算法/数学相关开源项目推荐
- 我的 Linux 故事:用开源打破语言壁垒
- 开源免费WinSCP搭建共享平台
- 打通前后端,这款效能提升开源“神器”你一定要了解
- Alibaba开源Java诊断工具Arthas简单介绍
- 苹果Mac电脑:安装开源openEuler的虚拟器-VirtualBox
- eHIDS 一款基于eBPF的HIDS开源工具
