通过 static_file 插件可以对外提供一个简单的基于 HTTP 的文件访问服务。类似于http的文件索引!

服务端frps.ini配置
[common]
bind_addr = 0.0.0.0
bind_port = 7000
privilege_token = 12345678

客户端frpc.ini配置
[common]
server_addr = 服务端IP
server_port = 7000
privilege_token = 12345678

[static_file]
type = tcp
local_ip = 127.0.0.1
remote_port = 6000
plugin = static_file
plugin_local_path = /tmp/file
plugin_strip_prefix = static
plugin_http_user = admin
plugin_http_passwd = admin

static_file 插件参数详解
plugin = static_file为开启插件static_file模式
plugin_local_path文件目录的绝对路径
plugin_strip_prefix访问网址后缀路径
通过浏览器访问 http://x.x.x.x:6000/static/
来查看位于 /tmp/file 目录下的文件,如不需要,可以不添加此参数。
plugin_http_user为http访问验证的用户名,可自定义,可添加此参数或不添加。
plugin_http_passwd为http访问验证的密码,可自定义,可添加此参数或不添加。

注意:客户端访问时需要加上端口号,每个客户端使用的端口号均不能相同

实际配置

frps服务端配置(linux系统)
[root@hn frps]# cat frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
#vhost_https_port = 8080
dashboard_port = 7500
# dashboard 用户名密码,默认都为 admin
dashboard_user = admin
dashboard_pwd = admin
privilege_token = 12345678
privilege_allow_ports = 2000-3000
max_pool_count = 10
subdomain_host = 1.2.com
log_file = ./frps.log
log_level = info
log_max_days = 3

windows作为frpc客户端使用 =>访问地址:http://x.x.x.x:2900/static
[common]
server_addr = x.x.x.x  #frps服务端IP
server_port = 7000
privilege_token = 12345678 #校验
pool_count = 2
log_file = ./frpc.log
log_level = info
log_max_days = 3

[static_file]
type = tcp
local_ip = 127.0.0.1
remote_port = 2900  #frps服务端端口放行
plugin = static_file
plugin_local_path = D:/Py/10  #本机目录,注意写法
plugin_strip_prefix = static
plugin_http_user = admin  #账号
plugin_http_passwd = admin #密码

linux作为frpc客户端使用  =>访问地址:http://x.x.x.x:2002/static
[common]
server_addr = x.x.x.x
server_port = 7000
privilege_token = 12345678
pool_port = 2
log_file = ./frpc.log
log_level = info
log_max_days = 3

[plugin_static_file]
type = tcp
remote_port = 2002
plugin = static_file
plugin_local_path = /tmp/file
plugin_strip_prefix = static
plugin_http_user = abc
plugin_http_passwd = abc

九、frp对外提供简单的文件访问服务的更多相关文章

  1. zookeeper集群,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服务器都是平等的。

    zookeeper集群,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服务器都是平等的.

  2. 基于FeignClient提供简单的用户查询服务

    前言: 由于系统升级,之前的员工数据库(mongo库)被弃用,改为用python维护的mysql库,其他系统访问通过http请求,表结构对外不可见,其他系统之前对员工mongo库的依赖要解除.每套系统 ...

  3. 开发FTP服务接口,对外提供接口服务

    注意:本文只适合小文本文件的上传下载,因为post请求是有大小限制的.默认大小是2m,虽然具体数值可以调节,但不适合做大文件的传输 最近公司有这么个需求:以后所有的项目开发中需要使用ftp服务器的地方 ...

  4. Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问

    Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问 1.使用场景: 需求1.家中服务器 ubuntu 主机,跑接口服务,需要对外暴漏, 需求2.同时需要在外网ssh远程 ​ 关键词: frp内网 ...

  5. 使用jsp/servlet简单实现文件上传与下载

    使用JSP/Servlet简单实现文件上传与下载    通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...

  6. Android学习笔记(十九)——内容提供器

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整 ...

  7. 使用WCF对外提供接口

    本篇将通过WCF以webservices的方式对外提供接口.同时使用NUnit对webservices中的方法进行单元测试. 开发契约 contract Contract项目为类库项目,该项目下会包含 ...

  8. grpc-gateway:grpc对外提供http服务的解决方案

    我所在公司的项目是采用基于Restful的微服务架构,随着微服务之间的沟通越来越频繁,就希望可以做成用rpc来做内部的通讯,对外依然用Restful.于是就想到了google的grpc. 使用grpc ...

  9. atitit.网络文件访问协议.unc smb nfs ftp http的区别

    atitit.网络文件访问协议.unc smb nfs ftp http的区别 1. 网络文件访问协议1 2. NETBios协议  2 3. SMB(Server Message Block)2 3 ...

随机推荐

  1. BZOJ 2333 [SCOI2011]棘手的操作 (可并堆)

    码农题.. 很显然除了两个全局操作都能用可并堆完成 全局最大值用个multiset记录,每次合并时搞一搞就行了 注意使用multiset删除元素时 如果直接delete一个值,会把和这个值相同的所有元 ...

  2. k8s的概念

    Kubernetes(简称为 K8s),最初由 Google 的工程师开发和设计.Kubernetes 是用于自动部署.扩展和管理容器化应用程序的开源系统,它旨在提供跨主机集群的自动部署.扩展以及运行 ...

  3. Linux 查看用户命令

    1.Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/p ...

  4. Maven Hibernate

    1.使用maven管理Hibernate实现自动装配jar包 2.需要在配置文件pom.xml中引入 如:引入hibaernate5.2.11.Final版本的jar包,需要做如下配置: <!- ...

  5. HDU 2439 The Mussels

    The Mussels Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID ...

  6. BJFU 质数相关

    /* BJFU 质数相关 http://101.200.220.237/contest/19/problem/116/ 二分图 按质因数奇偶性建立二分图 * * */ #include <cst ...

  7. [Angular] Getting to Know the @Attribute Decorator in Angular

    So when you using input binding in Angular, it will always check for update. If you want to improve ...

  8. APP为什么签名,使用keytool jarsigner进行签名

    签名(sign):在应用程序的特定字段写入特定的标记信息,表示该软件已经通过了签署者的审核.过程:使用私有密钥数字地签署一个给定的应用程序 作用: 识别应用程序作者 检測应用程序是否发生改变 有种程序 ...

  9. nyoj 119 士兵杀敌(三) 【线段树】【单点更新】

    题意:. .. 策略如题. 思路:我们先如果仅仅求某一区间的最大值.我们仅仅须要利用线段树的模板.仅仅须要初始化和询问的时候小小的改动一下.改成祖先结点储存的不再是子节点的和而是两个子节点之间的最大值 ...

  10. Weex学习与实践(一):Weex,你需要知道的事

    Weex学习与实践(一):Weex,你需要知道的事 http://coderyi.com/posts/weex1/ 1.命令行工具:weex-toolkit  https://github.com/w ...