实际使用场景:
针对实际使用中,遇到如下场景,想让其他人测试在本地搭建的 WEB 服务,由于本地机器没有公网IP,无法域名解析到本地机器。可通过反向代理的方式,实现此功能。
本文 将 以 FRP 反向代理 访问 处于内网环境 中的 iMX6UL系列OKMX6UL-C开发板 作为说明。
F RP 简介
FRP 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP , UDP 协议,为 HTTP 和 HTTPS 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
FRP 的作用
利用处于内网或防火墙后的机器,对外网环境提供 HTTP 和 HTTPS 服务。
对于 HTTP 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于内网或防火墙后的机器,对外网环境提供 TCP 服务,例如 可在 家 中 通过 SSH 访问处于公司内网环境内的主机。
可查看通过代理的所有 HTTP 请求和响应的详细信息。(待开发)
具体操作:
根据对应的操作系统及架构,从 FRP 的 Release 页面下载最新版本的程序。
以本文为例, 采用 飞凌嵌入式的 iMX6UL系列OKMX6UL-C开发板 ,
下载frp_0.27.0_linux_arm.tar.gz。
将压缩包中的 frps 及 frps.ini 放到具有公网 IP 的机器上。
将压缩包中的 frpc 及 frpc.ini 放到处于内网环境的机器 飞凌 iMX6UL系列OKMX6UL-C开发板 上。
修改配置文件
公网IP的机器上:
修改 frps.ini 文件,这里使用了最简化的配置:
# frps.ini
[common]
bind_port = 7000
启动 frps:
./frps -c ./frps.ini
内网环境的机器 FCU1101上:
修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x;
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
启动 frpc:
./frpc -c ./frpc.ini
通过 ssh 访问内网机器 飞凌 iMX6UL系列OKMX6UL-C开发板
假设用户名为 test:
ssh -oPort=6000 test@x.x.x.x
本文简单介绍了 如何通过 FRP 服务 访问内网机器,其他复杂的应用,请结合自己实际使用,修改。当然,也可以选择其他的反向代理,如 Ngrok ,也有类似编译好的可执行文件。
■ 关注“飞凌嵌入式”公众号,不定期分享行业干货及产品一线资料。
■ 直接微信回复产品平台,如“LS1012A”,即可快速获取对应产品信息。
■ 想要了解飞凌更多信息,欢迎与我们联系:
销售工程师:400-699-6866
国际业务部:0312-3102650-854
技术服务部:0312-3119192
方案定制类:17713286015 (杜工),18633238067(王工)
■ 实时技术支持:
AM 9:00—11:30,PM 13:30—17:00(周一至周五)
联系客服