利用frp搭建自己的内网穿透服务器

本教程基于以下环境完成

  • 带有公网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服务端镜像

docker pull snowdreamtech/frps

可以利用docker inspect命令查看镜像的信息

docker inspect snowdreamtech/frps

在这里插入图片描述

1.2 运行docker容器

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

vi frps.toml

在这里插入图片描述

# 服务端监听端口
bindPort = 7000
# http代理监听端口
vhostHTTPPort = 7001
# https代理监听端口
vhostHTTPSPort = 7002
# 鉴权方式
auth.method = "token"
# 客户端连接的token,相当于密码
auth.token = "password"

# 服务端UI界面端口
webServer.port = 7500
webServer.addr = "0.0.0.0"
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "password"

配置文件编辑完成之后,我们就可以启动一个frp的服务端容器了

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访问本机应用端口,证书文件路径

serverAddr = "公网IP"
serverPort = 7000

# 与服务端保持一致
auth.method = "token"
auth.token = "password"

[[proxies]]
name = "web_web"
type = "http"
# 本地应用端口
localPort = 8080
# 域名,指向你的公网IP
customDomains = ["yourdomain.com"]

[[proxies]]
name = "web_https"
type = "https"
# 域名,指向你的公网IP
customDomains = ["yourdomain.com"]

[proxies.plugin]
type = "https2http"
# 本地应用端口
localAddr = "127.0.0.1:8080"

# HTTPS 证书相关的配置,修改证书文件路径
crtPath = "ssl/fullchain.pem"
keyPath = "ssl/privkey.pem"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"

2.3 启动frp客户端

frp的客户端不能直接通过exe文件启动,这里我们建一个bat脚本,写入以下内容

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
在这里插入图片描述后台应用输出
在这里插入图片描述

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值