frp安装和使用并结合nginx配置域名https访问
编辑前言
在开发过程中,我们常常需要将本地开发的服务或者内网应用暴露到公网进行测试或使用。FRP (Fast Reverse Proxy)
是一款高效的内网穿透工具,可以帮助你将内网服务暴露到外部网络。而 Nginx
作为一个高性能的 Web 服务器和反向代理服务器,通常用于处理 HTTP/HTTPS 请求。在本文中,我们将介绍如何安装和使用 FRP,并结合 Nginx 配置域名和 HTTPS 访问,从而实现安全的内网穿透和远程访问。
一、FRP 简介
FRP 是一个支持反向代理的内网穿透工具,通过它,你可以将位于内网的服务暴露到公网。FRP 由两部分组成:服务端(frps
)和客户端(frpc
)。frps
运行在公网服务器上,负责接收来自客户端的连接并转发到本地的内网服务,而 frpc
则运行在内网设备上,负责将本地服务映射到 FRP 服务器上。
FRP 支持多种协议,包括 HTTP、HTTPS、TCP、UDP 等,因此它在各种场景下都非常实用。
二、安装 FRP
本文教程采用systemd方式来管理frps 先放上frp官方文档:https://gofrp.org/zh-cn/docs/setup/systemd/
安装 FRP 服务器端(frps)
1.链接到服务器终端,执行命令 sudo su
切换为root用户,可避免一些权限引起的问题
2.在github选择frp版本 和自己服务器对应的架构 下载对应的frp包
我这里下载linux-amd64位,目前最新版本是0.61.0
wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz
# 如国内机器访问GitHub网络不通畅 可使用下面命令 github代理服务:https://gh-proxy.com/
wget https://gh-proxy.com/github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz
3.解压并修改配置文件
我这里选择把frps 可执行命令放到 /usr/local/bin 目录下。frps.toml 配置文件放到 /etc/frps/目录下
# 解压缩
tar -zxvf frp_0.61.0_linux_amd64.tar.gz
# 复制可执行目录frps 到/usr/local/bin目录下
cp frp_0.61.0_linux_amd64/frps /usr/local/bin/
#赋予frps 可执行权限
chmod +x /usr/local/bin/frps
# 新建一个存在配置文件的目录
mkdir /etc/frps
# 把配置文件复制到/etc/frps/目录下
cp frp_0.61.0_linux_amd64/frps.toml /etc/frps/
修改frps.toml配置文件内容
# vim 和nano 编辑器二选一即可
vim /etc/frps/frps.toml
nano /etc/frps/frps.toml
把下面内容粘贴进配置文件并保存
frps.toml
# frps绑定端口 (必选)
bindPort = 7000
# frp 穿透访问内网中的网站监听端口 配合后面使用nginx做域名绑定访问
vhostHTTPPort = 7001
# frps 日志 (可选)
log.to = "/logs/frps.log"
# frps 日志等级 (可选)
log.level = "info"
# frps 日志存放天数 (可选)
log.maxDays = 15
# 验证
auth.method = "token"
auth.token = "123321"
此处bingdPort端口7000 记得防火墙放行哦
4.配置 systemd 守护进程 并开启开机自启
创建 frps.service 文件
使用文本编辑器 在 /etc/systemd/system
目录下创建一个 frps.service
文件,用于配置 frps 服务。
# 二选一
vim /etc/systemd/system/frps.service
nano etc/systemd/system/frps.service
粘贴下面内容 保存并退出
frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径,即上面第3步的路径
ExecStart = /usr/local/bin/frps -c /etc/frps/frps.toml
[Install]
WantedBy = multi-user.target
使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
配置nginx
我这里教程使用是1panel面板,感谢小张 提供的1panel面板来做本教程使用
1.新增网站,注意不要忘记解析域名
2.申请ssl,配置https访问
到此服务端已经配置完成。 如果你使用的不是1panel面板,那么使用nginx配置即可, 面板最终操作还是会生成nginx.conf配置文件。
windows 客户端使用
下载frpc 客户端,github提供的压缩包里面同时包含frps服务端 和frpc客户端了
解压后修改frpc.toml配置文件, 记得修改为自己的内容
frpc.toml
serverAddr = "111.111.111.111"
serverPort = 7000
auth.method = "token"
auth.token = "123321"
[[proxies]]
name = "test"
type = "http"
localIP = "127.0.0.1"
localPort = 8082
customDomains = ["test.frp.xxx.com"]
启动frpc 成功后访问域名
到此教程就结束了
如果windows客户端需要开机自启frpc可参考另一篇文章:
- 2
- 0
-
分享