准备工作:

阿里云服务器一台,备案域名一个,本地服务器一台(本人用的虚拟机centos7)

frp文件:frp_0.22.0_linux_amd64.tar.gz

链接:https://pan.baidu.com/s/1lcJ3_OsK7I5HSoF1lKvf0Q

提取码:5ak6

本文只介绍安装过程,原理自行百度。

1.下载frp_0.22.0_linux_amd64.tar.gz文件,放置服务器的任意目录下(自己方便找到的),本人放在: cd /var/

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

进入解压的文件夹:cd frp_0.8.1_linux_amd64

进去之后注意这四个文件,其他不用管,也不用动:

frps.ini: 服务端配置文件

frps: 服务端软件

frpc.ini: 客户端配置文件

frpc: 客户端软件

步骤一在阿里云服务器与本地服务器同时安装,方法一致,不同的是上面的四个文件的配置不同

2.配置说明

阿里云服务器配置即服务器端的配置文件在:frps.ini

[common]
bind_port = 3389    frps提供的端口
vhost_http_port = 8080   域名访问的端口

[web]
type = http  本地服务器访问理性
local_port = 80  本地服务器访问端口
custom_domains = s.lzh.cn阿里云服务器访问域名
auth_token = ntflzhcn  验证token,随便写,最好是字母加数字

本地服务器配置文件在:frpc.ini

[common]
server_addr = 47.92.22.110 阿里云服务器ip地址
server_port = 3389 阿里云服务器frps提供的端口
auth_token = ntflzhcn 验证token,同阿里云服务器
[web]
type = http  本地服务器的访问类型
local_port = 80  本地服务器访问的端口
custom_domains = s.lzh.cn  同阿里云服务器

阿里云服务器(配置frps.ini )和本地服务器(配置frpc.ini)仅配置这两个文件,其他的都不用动,切记配置对应的文件名。

3.测试是否开通

首先必须在frp文件夹内操作才有效:cd /var/frp_0.22.0_linux_amd64/

启动阿里云服务器端frps:./frps -c ./frps.ini

出现如图所示内容表示启动成功:

同理,本地服务器进入相应的目录:cd /var/frp_0.22.0_linux_amd64/

启动本地服务器端frpc:./frpc -c ./frpc.ini

出现如图所示内容表示启动成功:

4.设置开启自启动(很重要,不然连接无法保持)

本地服务器路径:/usr/lib/systemd/system,创建frpc.service文件,内容如下:

[Unit]
Description=frpc
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/var/frp_0.22.0_linux_amd64/frpc -c /var/frp_0.22.0_linux_amd64/frpc.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

阿里云服务器路径如下:/usr/lib/systemd/system,创建frps.service文件,内容如下:

[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/var/frp_0.22.0_linux_amd64/frps -c /var/frp_0.22.0_linux_amd64/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

上述步骤完成后,可能会用到的命令:

启动 frp 并设置开机启动

systemctl enable frps

systemctl start frps

systemctl status frps

启动 frp 并设置开机启动

systemctl enable frpc

systemctl start frpc

systemctl status frpc

刚刚配置的服务需要让systemctl能识别,就必须刷新配置

sudo systemctl daemon-reload

5测试:

s.lzh.cn:8080 直接访问即可

过程中遇到的问题:

1.本地服务器提示:custom_domains and subdomain should set at least one of them

解决办法即在本地服务器frpc.ini中,添加custom_domains = s.lzh.cn 即可解决

2.提示未找到站点。

本地服务器添加解析: vi /etc/hosts

补充说明:

1.我用的是备案好的案例云服务器,当然也可以用香港的服务器不用备案,只要你的服务器可以用域名解析并且可以正常访问,都可以做到。

2.我的本地服务器有多个网站,如果只放一个网站问题2应该不会遇到

3. 本地服务器和阿里云服务器我没有做开机自启动,重启后需要再次开启

4.阿里云服务器所涉及到的端口,不仅要在服务器上开启,阿里云控制台安全组也要开启

5过程中可能会重启frp

查看frp的进程号:ps -aux | grep frp,如下图所示:

杀死该进程:kill -9 17210,接下来按照步骤3启动即可

6.如果要访问多个网站可以参考下图:

阿里云服务端frps.ini

本地服务器端

(完)

frp内网穿透,centos7+frp成功样例的更多相关文章

  1. frp内网 穿透映射使内网svn可外网访问

    起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...

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

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

  3. 树莓派FRP内网穿透及自启动

    内网穿透的步骤和文件存档 实验室在远方部署了电脑主机来采集数据和图片,每次去调试会很麻烦,因而使用FRP内网穿透使得我们可以在实验室访问主机. 主要功能 实现远程可访问和开机自启FRP程序服务 安装和 ...

  4. 内网穿透工具--frp

    对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题. 今天给大家介绍一款好用内网穿透工具 FRP,FRP 全名:Fast Reverse Proxy.FRP 是一个使用 ...

  5. frp内网穿透学习

    前言 因为自己在内网,但是目标站在外网,这时候可以通过内网穿透工具,将接收到的请求转发到内网,实现在内网的msf可以控制外网的靶机. 也看了一些Ngrok,花生壳的,发现Ngrok.cc这个看文章说有 ...

  6. 内网穿透—使用 frp 实现内外网互通

    前言 什么是内网穿透? 内网穿透,又叫 NET 穿透,是计算机用语.用通俗的说法就是你家里的个人电脑,可以直接被外网的人访问.例如你在公司,不通过远程工具,直接也可以访问到家里的电脑(本文章特指 we ...

  7. frp内网穿透实战

    什么是frp frp是一个使用非常简单的开源内网穿透软件,代码地址:https://github.com/fatedier/frp ,使用条前提你需要有一台公网服务器,大致原理是:公网服务器监听某个端 ...

  8. 五、frp内网穿透客户端frpc.ini各配置参数详解

    [必须]标识头[common]是不可或缺的部分 [必须]frps服务端IPserver_addr = 0.0.0.00.0.0.0为FRP服务端IP,客户端要填写为服务端已配置的对应的IP,或者是服务 ...

  9. 【网络】内网穿透方案&FRP内网穿透实战(基础版)

    目录 前言 方案 方案1:公网 方案2:第三方内网穿透软件 花生壳 cpolar 方案3:云服务器做反向代理 FRP简介 FRP资源 FRP原理 FRP配置教程之SSH 前期准备 服务器配置 下载FR ...

  10. frp 内网穿透访问内网Web服务

    ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...

随机推荐

  1. Adapter之ArrayAdapter以及监听器设置

    前言: ArrayAdapter:支持泛型操作,最简单的一个Adapter,只能展现一行文字~,我的学习就是通过这个最简单的适配器开始 正文: 完成这个ArrayAdapter需要三步:1.初始化数据 ...

  2. OpenMandriva或将放弃32位的支持

    导读 除了Ubuntu计划在其19.10发行版中删除32位包之外,OpenMandriva开发团队也是另一个备受关注的Linux发行版起草计划,以取消对32位包的支持. OpenMandriva计划在 ...

  3. 【docker】docker持续集成CI/持续部署CD

    持续集成(CI) 持续集成(Continuous integration)是一种流行的软件开发实践.集成是指开发将自己本地的代码提交到git等远端仓库上,那么持续集成就是每天多次提交,提早提交代码. ...

  4. 无法执行 BACKUP LOG,因为当前没有数据库备份,导入数据库备份.bak文件

    右键数据库——>任务——>还原——>数据库 无法执行 BACKUP LOG,因为当前没有数据库备份 结尾日志的问题 还原选择中去掉结尾日志就可以了

  5. 4 —— node —— 启动一个 http 服务器

    const http = require('http'); const server = http.createServer(); // 绑定客户端请求事件 // on => 绑定事件 // r ...

  6. Web移动前端开发-——rem+less+媒体查询,rem+flexble.js+媒体查询

    实际开发搞搞起来!!!! rem适配方案 媒体查询+rem+less 基础知识铺垫 第一步,我们需要拿到设计稿,安装设计稿的要求来设置一个合适的html字体大小. 第二步,计算元素大小的取值 页面re ...

  7. oracle分组后取某组中最大的值

    查询username,根据fundcode分组,按照date倒序,取date最大的一条数据 select * from ( select username, row_number() over(par ...

  8. torch.utils.data.DataLoader 将数据按批次分成很多组,每次抛出一个小组

    torch.utils.data.DataLoader 数据加载器,结合了数据集和取样器在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据.直至把所有的数据都抛出.就是做一个 ...

  9. kafka管理神器-kafkamanager

    好久没发过kafka的文章了,今天整理一下kafka-manager神器. java环境要求 jdk8 kafkamanager源码下载 https://github.com/yahoo/kafka- ...

  10. Mysql: if 结构

    if结构 语法 if  条件1  then  语句1; elseif   条件2   then  语句2; ... else 语句n;   # 可以不写 应用场合:应用在begin end 中 SEL ...