frp对http协议应用

前言

frp是一个开源的项目, 可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

github地址:https://github.com/fatedier/frp

此处对http的应用做一个简单的记录,使用frp-v0.20.0版本进行介绍

 

1.软件下载地址

http://diannaobos.iok.la:81/frp/frp-v0.20.0/

2.服务端配置

linux下配置,需要有一个公网的服务器,假如公网ip为 xxx.xxx.xxx.xxx

下载软件:frp_0.20.0_linux_amd64.tar.gz

解压:tar -zxvf frp_0.20.0_linux_amd64.tar.gz

cd frp_0.20.0_linux_amd64

启动服务端: 

./frps --bind_port=7000 --vhost_http_port=8080

其中:

  --bind_port 为frp服务端口

  --vhost_http_port为http服务端口

3.客户端配置

3.1 windows下配置

下载软件:frp_0.20.0_windows_amd64.zip

解压:进入frp_0.20.0_windows_amd64目录

编辑:

frpc.ini 文件

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000[web01]
type = http
local_port = 7758
custom_domains = xxx.xxx.xxx.xxx

说明:

  server_addr : frp的服务地址
  server_port : frp的服务端口

  web01:代理名称,随意命名
  type : 协议类型,此处为http
  local_port : 代理的本地端口
  custom_domains : 代理的地址,可以使用域名

3.2 启动客户端

打开cmd 命令窗口

执行:frpc.exe -c frpc.ini

3.3 访问方法

使用custom_domains 指定的地址或者域名,端口为服务端的--vhost_http_port 指定的端口,此处为8080, 访问后就相当于访问到了本地的端口 7758
此处为: xxx.xxx.xxx.xxx:8080
代理方式相当于: xxx.xxx.xxx.xxx:8080 --> 127.0.0.1:7758

 4.建立多个反向代理

这里的服务端和客户端是一对一的,所以需要重新建立服务端,指定不同的frp端口和http的端口

4.1 服务端

./frps --bind_port=7001 --vhost_http_port=8081

4.2 客户端

从frpc.ini复制一个frpc1.ini,内容如下:

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7001[web02]
type = http
local_port = 7759
custom_domains = xxx.xxx.xxx.xxx

启动:frpc.exe -c frpc1.ini

访问:xxx.xxx.xxx.xxx:8081

代理方式相当于: xxx.xxx.xxx.xxx:8081 --> 127.0.0.1:7759

转载于:https://www.cnblogs.com/sancong/p/11388867.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树形列(无限级联下拉列的曲线版本)

先上效果图: 1、列表 - 列表设置 - 创建栏,“类型”选择“托管元数据”,如下图: 2、选中“托管元数据”后,可以到下面编辑需要的树形啦: 3、编辑好,确定,搞定;可以到列表…

c++远征之模板篇——函数模板、类模板

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 函数模板(vs模板函数) 1、为什么需要模板? 函数体相同,只是类型不一样而已。那么能否把数据的类型当做参数传递呢?肯定是可以的&#xff0…

c++远征之模板篇——标准模板库(STL)

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 常见的设计模板 1、vector,向量 (1)本质是对数组的封装; (2)能够在常数时间内完成读取; (3&#xf…

数据结构探险——队列篇

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、什么是队列? (1)先入先出的模型(FIFO)。 (2)队头,队尾。 (3)细分为普通队…

数据结构与算法之冒泡排序

转载于:https://www.cnblogs.com/yakun/p/3634457.html

数据结构探险——栈篇

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、栈要素 栈底(不变)、栈顶(随着入栈和出栈而改变) 2、栈机制的实现 (1)栈的相关机制 判断栈的空满;入栈、出栈…

windows下修改tomcat的startup.bat脚本文件后台运行

1、修改startup.bat文件 rem Get remaining unshifted command line arguments and save them in the set CMD_LINE_ARGS :setArgs if ""%1"""""" goto doneSetArgs set CMD_LINE_ARGS%CMD_LINE_ARGS% %1 shift goto setArgs :doneSet…

开源框架:CocoaPods 安装学习教程

转载 开源框架:CocoaPods 引言: CocoaPods是一个可以帮你集中管理第三方库的开源项目,运行在Ruby的环境下,基于GitHub托管优势,你可以很方便的查阅目前依赖于CocoaPods的资源. 并且,CocoaPods是可靠,稳定,安全的.可以为你在使用第三方库资源时节省大部分的配置和部署时间.更专心…

SESSION 回收机制

session.gc_maxlifetime session.gc_probability session.gc_divisor session.gc_divisor 与 session.gc_probability 合起来定义了在每个会话初始化时启动 gc(garbage collection 垃圾回收)进程的概率。此概率用 gc_probability/gc_divisor 计算得来…

数据结构探险——线性表篇

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、线性表 概念 机制的实现 2、顺序表 构造函数、析构函数 清空线性表,判空 求当前线性表长度,获取某个序号的元素 定位某个元素的位置 找前驱(找后驱类似的&…

Mysql优化之执行计划查看

我们经常说到mysql优化,优化中一种常见的方式就是对于经常查询的字段创建索引。那么mysql中有哪些索引类型呢? 一、索引分类1、普通索引:即一个索引只包含单个列,一个表可以有多个单列索引 2、唯一索引:索引列的值必须…

jmeter+Fiddler:通过Fiddler抓包生成jmeter脚本

Fiddler是目前最常用的抓包工具之一,它作为客户端和服务器端之间的代理,记录客户端和服务器之间的所有请求(http/https),可以针对特定的请求过滤,分析请求和响应的数据、设置断点、调试、修改请求的数据,甚至可以修改服…

数据结构探险——树篇

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 树存在概念中,是对数组或者链表的一种操作方式的概念。 一、与树有关的一些基础概念 (1)树 有限节点的集合; (2)度 某个节点的…

grub rescue的修复方法

2019独角兽企业重金招聘Python工程师标准>>> 在win7下删除了ubuntu的swap交换空间的分区(大约6G左右,根据自己的实际分区情况决定)。重新启动电脑进入界面,直接显示: error:unknow filesystemgrub rescue&g…

jmeter强大的扩展插件!!

jmeter4.0以上版本,如jmeter5.1.1版本的集成插件,只需要在官网下下载“plugins-manager.jar”包,放在jmeter安装路径的lib/ext目录下即可使用。(但该jar包包含的插件,还不能满足所需的功能,如服务器系统资源…

数据结构探险——图篇

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、图的相关概念 2、图的存储结构 第一种是用数组表达,第二三种用链表来表示有向图,最后一种链表来表示无向图。(1)邻接矩阵(有向无向都可…

jmeter+WebDriver:启动浏览器进行web自动化

无论是web自动化还是手机app自动化,WebDriver是Selenium的核心模块,jmeter WebDriver 仅支持Firefox、Chrome 和 HTML Unit驱动,暂不支持IE 驱动。 一、下载JMeterPlugins-WebDriver插件并配置分享我的网盘下载地址:https://pan.b…

LeetCode2——Add Two Numbers(两个链表中的数字相加,形成新链表)

鄙人不才,故收录LeetCode中的解法和代码。 题目: 参考解法: /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { publi…

Linux基础(九)--定时任务

本文主要介绍了Linux中定时任务的相关知识。在日常中,有一些任务需要定时执行,例如:每天定时更新杀毒软件的数据库,每天定时执行数据清洗等脚本。这里就需要做定时任务。(1)概述在Linux中定时任务主要分为两…

【随感】tomorrow ,new semester ,finally i have time to read some books~

—————————youngLaker转载于:https://www.cnblogs.com/younglaker/archive/2012/12/30/2840129.html