准备工作 和 注意事项:

1.frp 下载地址  https://github.com/fatedier/frp/releases

2. 需要给有公网ip 的服务端服务器 和 本地客户端服务器 各放一份这个代码

3. 将 www.yourdomain.com 的域名 A 记录解析到 IP x.x.x.x,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。

4. 服务器端只需要修改  frps.ini  客户端只需要修改 frpc.ini

开始搭建:

a. 服务端服务器(有公网ip)

[root@mark frp]#  wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz

[root@mark frp]#  tar -zxvf frp_0.20.0_linux_amd64.tar.gz

[root@mark frp]#  mv frp_0.20.0_linux_amd64 frp

[root@mark frp]#  cd frp

[root@mark frp]#  vim frps.ini       //这里的frps  代表 frp server 服务器端的 修改为以下内容然后保存

[common]
bind_port = 7000
vhost_http_port = 8080

[root@mark frp]# nohup ./frps -c ./frps.ini &    //启动frps  并在后台运行

---以上 服务器端搭建完毕 ---

b.客户端服务器(本地的虚拟机 我的是centos系统)

[root@mark frp]#  wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz

[root@mark frp]#  tar -zxvf frp_0.20.0_linux_amd64.tar.gz

[root@mark frp]#  mv frp_0.20.0_linux_amd64 frp

[root@mark frp]#  cd frp

[root@mark frp]#  vim frpc.ini       //这里的frpc  代表 frp client 客户器端的 修改为以下内容然后保存

[common]
server_addr = 45.76.173.***   <远程frp服务器ip> <你的服务器端 公网ip>
server_port = 7000 <远程frp服务器端口> < 就是服务器端配置frps.ini的 bind_port = 7000 >

[http]
type = http <协议类型>
local_ip = 192.168.1.132 <本地服务器的ip地址>
local_port = 8888  <本地端口号>
remote_port = 8080 <远程frp服务器的http服务端口号 > < 就是服务器端配置frps.ini的 vhost_http_port = 8080 >
custom_domains = www.yourdomain.com <配置的域名>

[root@mark frp]# nohup ./frpc -c ./frpc.ini &    //启动frpc  并在后台运行

---以上 客户端搭建完毕 ---

最后:

通过浏览器访问 http://www.yourdomain.com:8080 即可访问到处于内网机器上的 web 服务。

如何用frp进行来无影去无踪的更多相关文章

  1. 如何用按钮的click事件去触发a标签的click事件

    在jQquery中,可以用如下方式触发input.a标签的click事件: <input id="my_input" /> <a id="my_a&qu ...

  2. DOS批处理高级教程(还不错)(转)

    前言 目录 第二节 常用特殊符号     1.@  命令行回显屏蔽符     2.%  批处理变量引导符     3.>   输出重定向符     4.>>  输出重定向符     ...

  3. DOS批处理高级教程

    转载-->http://blog.csdn.net/lanbing510/article/details/7461073 前言 本教程主要引用伤脑筋版主的系列文章,同时参考引用[英雄]教程等其他 ...

  4. 通什翡翠商城大站协议邮件群发系统日发20-30万封不打码不换ip不需发件箱100%进收件箱

    用一种新的技术思维去群发邮件一种不用换IP,不需要任何发件箱的邮件群发方式一种不需要验证码,不需要**代码变量的邮件群发方式即使需要验证码也能全自动识别验证码的超级智能软件教你最核心的邮件群发思维和软 ...

  5. Windows下好用到必须开机自启的小工具

    折腾过linux,黑苹果,最后还是回到了盖茨大叔的windows.得出的结论是,日常使用的话,折腾Linux还不如把精力去拿去折腾windows.分享下折腾的成果,介绍下一些很不错的小工具.     ...

  6. jQuery升级踩坑大全

    jQuery升级踩坑大全 背景 jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本.其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到j ...

  7. jQuery版本升级踩坑大全

    背景 -------------------------------------------------------------------------------- jQuery想必各个web工程师 ...

  8. Alpha版本项目展示

    成员简介 谷大鑫: 热爱编程,技术狂魔,可以对感兴趣的技术钻研到茶饭不思,队伍的技术中坚.标签:整个队伍里最靠谱的人. 个人博客:http://www.cnblogs.com/nrm1/ 杨金键: 未 ...

  9. Hibernate-ORM:02.Hibernate增删改入门案例

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本笔者使用的是Idea+mysql+maven做Hibernate的博客,本篇及其以后都是如此! 首先写好思路 ...

随机推荐

  1. IDEA汉化

    1.- 汉化包 提取码: 4mbq 2.打开IDEA,执行下列操作:在主界面选择File → Settings → Appearance&Behavior → Appearance → 勾选O ...

  2. json2.js JSON解析程序

    源码: /* http://www.JSON.org/json2.js 2010-03-20 Public Domain. NO WARRANTY EXPRESSED OR IMPLIED. USE ...

  3. .net 多线程之线程取消

    //线程取消不是操作线程,而是操作信号量(共享变量,多个线程都能访问到的东西,变量/数据库的数据/硬盘数据) //每个线程在执行的过程中,经常去查看下这个信号量,然后自己结束自己 //线程不能别人终止 ...

  4. Ajax异步请求阻塞情况的解决办法(asp.net MVC Session锁的问题)

    讨论今天这个问题之前,我们先来看下浏览器公布的资源并发数限制个数,如下图 不难看出,目前主流浏览器支持都是最多6个并发 需要注意的是,浏览器的并发请求数目限制是针对同一域名的 意即,同一时间针对同一域 ...

  5. 转HDMI

    HDMI协议解析 2017年06月18日 14:19:27 阅读数:2987 转载请标明出处floater的csdn blog,http://blog.csdn.net/flaoter 本文从软件工程 ...

  6. 刘志梅 201771010115 《面向对象程序设计(java)》 第十八周学习总结

    实验十八 总复习 实验时间 2018-12-30 1.实验理论知识 (1)第一个关键词:public称为访问修饰符,用于控制程序的其他部分对代码的访问级别. 第二个关键词:class表明java程序中 ...

  7. JS 实现右下角弹窗

    <!DOCTYPE HTML> <head> <title>JS实现右下角弹窗</title> <meta http-equiv="co ...

  8. ubuntu python的升级与回滚

    转自:https://www.cnblogs.com/wmr95/p/7637077.html 正常情况下,你安装好ubuntu16.04版本之后,系统会自带 python2.7版本,如果需要下载新版 ...

  9. springboot 问题总结

    一:返回格式化日期 如果我们是用fastjson处理成jsonString,可以通过下面两种方式处理 1,在接受实体上@JSONField(format="yyyy-MM-dd HH:mm: ...

  10. 使用JavaScript制作页面效果3

    一. 1.下拉列表:select对象 属性: option[ ]:选项数组 selectedIndex:被选中选项的索引号 length:选项总数 方法: add(option对象,添加位置):增加选 ...