利用frp搭建本身的内网穿透服务器

打印 上一主题 下一主题

主题 532|帖子 532|积分 1596

本教程基于以下情况完成


  • 带有公网IP的云服务器一台,安装centos7.6系统
  • 一个属于本身的域名,可以是二级域名
  • 域名对应的证书文件
  • 一台64位Windows系统的电脑
  • 开源项目frp
证书文件主要是用来设置https访问的,如果没有证书文件可以参考我的这篇文章生成
centos7中申请Let‘s Encrypt的免费SSL证书
一、安装frp服务端

1.1 下载docker镜像

1 利用docker search下令查看frp镜像
从图中我们可以看到有frps和frpc两个镜像,其中frps是frp的服务端镜像,frpc是frp的客户端镜像,我们是在centos中安装frp的服务端只要下载frps就行了
2 下载frp服务端镜像
  1. docker pull snowdreamtech/frps
复制代码
可以利用docker inspect下令查看镜像的信息
  1. docker inspect snowdreamtech/frps
复制代码

1.2 运行docker容器

在运行容器之前我们先创建frp服务端的设置文件,在任意一个文件夹中创建名为frps.toml的文件
注:我们镜像的版本是0.52.3,在这个版本用.ini设置文件已经弃用了
  1. vi frps.toml
复制代码

  1. # 服务端监听端口
  2. bindPort = 7000
  3. # http代理监听端口
  4. vhostHTTPPort = 7001
  5. # https代理监听端口
  6. vhostHTTPSPort = 7002
  7. # 鉴权方式
  8. auth.method = "token"
  9. # 客户端连接的token,相当于密码
  10. auth.token = "password"
  11. # 服务端UI界面端口
  12. webServer.port = 7500
  13. webServer.addr = "0.0.0.0"
  14. # dashboard's username and password are both optional
  15. webServer.user = "admin"
  16. webServer.password = "password"
复制代码
设置文件编辑完成之后,我们就可以启动一个frp的服务端容器了
  1. docker run -d -p 7000:7000 -p 7001:7001 -p 7002:7002 -p 7500:7500 -v /root/frp/server/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps
复制代码
-v /root/frp/server/frps.toml:/etc/frp/frps.toml 挂载目录,使用我们刚刚创建的设置文件启动容器
容器启动后可以使用docker logs下令查看日志信息

一样平常情况下通过docker启动容器不需要本身手动开放端口
1.3 访问frp服务端UI界面

公网IP:7500访问UI界面

二、安装frp客户端

2.1 下载Windows客户端

   https://github.com/fatedier/frp/releases
  选择适合本身电脑利用系统的版本,这里我们下载Windows 64位的版本

2.2 修改客户端设置文件
修改frpc.toml文件,这里主要设置需要连接的服务端信息,http访问本机应用端口,https访问本机应用端口,证书文件路径
  1. serverAddr = "公网IP"
  2. serverPort = 7000
  3. # 与服务端保持一致
  4. auth.method = "token"
  5. auth.token = "password"
  6. [[proxies]]
  7. name = "web_web"
  8. type = "http"
  9. # 本地应用端口
  10. localPort = 8080
  11. # 域名,指向你的公网IP
  12. customDomains = ["yourdomain.com"]
  13. [[proxies]]
  14. name = "web_https"
  15. type = "https"
  16. # 域名,指向你的公网IP
  17. customDomains = ["yourdomain.com"]
  18. [proxies.plugin]
  19. type = "https2http"
  20. # 本地应用端口
  21. localAddr = "127.0.0.1:8080"
  22. # HTTPS 证书相关的配置,修改证书文件路径
  23. crtPath = "ssl/fullchain.pem"
  24. keyPath = "ssl/privkey.pem"
  25. hostHeaderRewrite = "127.0.0.1"
  26. requestHeaders.set.x-from-where = "frp"
复制代码
2.3 启动frp客户端

frp的客户端不能直接通过exe文件启动,这里我们建一个bat脚本,写入以下内容
  1. frpc.exe -c frpc.toml
复制代码
双击frpc-client.bat启动frp客户端

三、测试

注意我们在服务端设置的vhostHTTPPort和vhostHTTPSPort端口,用于http访问和https访问
3.1 https访问

浏览器访问 https://yourdomain.com:7002/path

3.2 http访问

浏览器访问 http://yourdomain.com:7001/path
背景应用输出


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表