开发者
资源
利用frp搭建自己的内网穿透服务器-转载
利用frp搭建自己的内网穿透服务器-转载
发表于2024/05/02
1015
 本教程基于以下环境完成 
 

带有公网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就行了 

 image.png

2 下载frp服务端镜像 

 

docker pull snowdreamtech/frps 

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

 

docker inspect snowdreamtech/frps 

image.png

 

1.2 运行docker容器 

在运行容器之前我们先创建frp服务端的配置文件,在任意一个文件夹中创建名为frps.toml的文件 

注:我们镜像的版本是0.52.3,在这个版本用.ini配置文件已经弃用了 

 

vi frps.toml 

image.png

# 服务端监听端口 

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命令查看日志信息 

 image.png

一般情况下通过docker启动容器不需要自己手动开放端口 

 

1.3 访问frp服务端UI界面 

公网IP:7500访问UI界面 

 image.png

二、安装frp客户端 

2.1 下载Windows客户端 

https://github.com/fatedier/frp/releases 

 image.png

选择适合自己电脑操作系统的版本,这里我们下载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 

image.png

双击frpc-client.bat启动frp客户端 

 image.png

三、测试 

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

 

3.1 https访问 

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

 image.png

3.2 http访问 

浏览器访问 http://yourdomain.com:7001/path 

后台应用输出 

 image.png

———————————————— 

 

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 

                         

原文链接:https://blog.csdn.net/qq_43610975/article/details/134325157 

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞