frp实现内外穿透

245 阅读2分钟

一、frp是什么?

1、frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

二、使用步骤

1.需要两台服务器

云上服务器 1.15.180.135 本地服务器 192.168.1.48

2、下载frp 和go语言 (基于)

go语言地址:golang.org/doc/install… 在这里插入图片描述

frp地址 github.com/fatedier/fr…

默认下载最新的 在这里插入图片描述

(1)、通过自定义域名访问内网的 Web 服务

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

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

代码如下(示例):

云上服务器代码 1.15.180.135

[common]
bind_port = 7000
vhost_http_port = 8081

本地服务器代码

修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 1.15.180.135,local_port 为本地机器上 Web 服务监听的端口, 绑定自定义域名为 custom_domains。 local_port 因为我本地服务的端口是7070

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

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

启动

编写配置文件,先通过 ./frps -c ./frps.ini 启动服务端,再通过 ./frpc -c ./frpc.ini 启动客户端。如果需要在后台长期运行,建议结合其他工具使用,例如 systemd 和 supervisor。

如需后台启动可以这样 本地服务器 nohup /usr/local/frp/frp_0.38.0_linux_amd64/frpc -c /usr/local/frp/frp_0.38.0_linux_amd64/frpc.ini 云上服务器 nohup /usr/local/frp/frp_0.38.0_linux_amd64/frps -c /usr/local/frp/frp_0.38.0_linux_amd64/frps.ini

运行: 在这里插入图片描述

二、windows下安装frpc.ini

1、服务端frps还是在原先的云上服务器 在这里插入图片描述 2、删除frps有关文件 剩下

在这里插入图片描述 3、编辑frpc.ini 在这里插入图片描述 4、在Windows PowerShell启动 要进入到当前目录,不会自行百度 执行命令 ./frpc.exe -c ./frpc.ini 在这里插入图片描述 码云地址:gitee.com/yuisuiWork/…

Github地址:github.com/hongjiatao/…

欢迎交流,一起进步!

总结

后期再更新frp其他实现内网穿透的教程