大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
FRP内网穿透
介绍
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
为什么使用frp
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
- 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
- 服务端和客户端 UI 页面。
- 我的服务器是centos7系统(腾讯云主机),拥有公网ip
- 需要穿透网络的是win10系统电脑
根据所使用的系统来选择安装包,我这里服务器端选择了Linux_amd64安装包、客户端选择了windows_amd64安装包
安装
- 服务端的相关配置为frps**
- 客户端的相关配置为frpc**
服务端
- 解压frp压缩包
- 进入目录修改服务端配置
配置文件内容
vim frps.ini
[common]
bind_addr = 0.0.0.0 #服务端连接客户端的ip地址
bind_port = 7100 #服务端连接客户端的端口
bind_udp_port = 7101 #UDP绑定端口
kcp_bind_port = 7102 #KCP绑定端口
dashboard_addr = 0.0.0.0 #服务端仪表盘面板的ip地址
dashboard_port = 7500 #服务端仪表盘面板的端口
dashboard_user = admin #仪表盘页面登录的用户名
dashboard_pwd = 123456 #仪表盘页面登录的密码
enable_prometheus = true #开启普罗米修斯
log_file = ./frps.log #设置日志文件地址
log_level = info #设置日志记录级别
token = 1327398885 #服务端连接客户端的口令
启动命令
# 前台启动命令
./frps -c frps.ini
# 后台启动命令
nohup ./frps -c frps.ini >/dev/null 2>&1 &
其中,>为输出重定向符号,>/dev/null 2>&1。这条命令其实分为两命令,一个是>/dev/null,另一个是2>&1。
- /dev/null
这条命令的作用是将标准输出1重定向到/dev/null中。/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。
- 2>&1
这条命令用到了重定向绑定,采用&可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。
linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。
客户端
我这里使用win10系统电脑,将安装包解压
配置文件内容
[common]
server_addr = 192.168.1.1 # 修改为服务器地址
server_port = 7100 # 服务器绑定端口
token = 1327398885 # 访问token
admin_addr = 192.168.1.1 # 客户端Web地址
admin_port = 7500 # Web访问端口
admin_user = admin # Web访问账户
admin_pwd = 123456 # Web访问密码
[company_res]
type = tcp
local_ip = 192.168.1.243
local_port = 8088
remote_port = 7200
启动命令
frpc -c frpc.ini
Ctrl+C停止服务
启动成功日志:
运行效果
我这里代理了我本地的一个nginx文件服务
访问公网ip,正常显示
参考
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194273.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...