FRP 0.61.1 全新入坑指南-HTTPS访问内网

在拥有公网服务器的情况下,利用frp,我们可以便捷地将内网设备实现公网访问。本位为大家带来最新版frp部署指南,和常见的上手姿势。


准备

  • 公网服务器(建议使用轻量服务器)

  • 本地Linux或者Windows主机。



FRP 0.61.1 全新入坑指南-HTTPS访问内网

示意图

如上图,用户想要外网访问内网的设备。需要通过公网服务器作为跳板。

部署服务端

首先,从github下载项目到本地。 项目地址: https://github.com/fatedier/frp 这里,我们以最新版的为例。根据自己的系统类型下载合适的包。

下载完成后,我们首先配置frps.toml(服务端配置文件) 配置示例如下:

必配参数




代码语言:javascript

代码运行次数:0


运行


AI代码解释


bindPort = 7000auth.token = "youpassword"


bindPort: 服务端端口,安全组和防火墙都要开启。不然内网设备无法连接。

auth.token:用于安全配置,防止别人连接自己的服务器。

可选配置

配置仪表盘,frp支持仪表板。通过仪表盘可以方便地查看当前设备的连接状态。




代码语言:javascript

代码运行次数:0


运行


AI代码解释


webServer.addr = "0.0.0.0" #监听所有IP 包括ipv6

webServer.port = 7500 #仪表盘端口
webServer.user = "admin" #仪表盘账号
webServer.password = "admin@ql==" #仪表盘密码

<br/>

<br/>

<br/>

仪表盘效果

仪表盘效果

仪表盘效果

其他

如,我们想要配置通过域名访问,我们还可以添加相关域名配置。

<br/>

<br/>

<br/>

代码语言:javascript

代码运行次数:0

<br/>

运行

<br/>

AI代码解释

<br/>

vhostHTTPSPort = 443  #指明https端口
vhostHTTPPort = 80  #指明http端口

<br/>

完整示例

<br/>

<br/>

<br/>

代码语言:javascript

代码运行次数:0

<br/>

运行

<br/>

AI代码解释

<br/>

bindPort = 7000auth.token = "youpassword"vhostHTTPSPort = 443  #指明https端口
vhostHTTPPort = 80  #指明http端口
webServer.addr = "0.0.0.0" #监听所有IP 包括ipv6
webServer.port = 7500 #仪表盘端口
webServer.user = "admin" #仪表盘账号
webServer.password = "admin@ql==" #仪表盘密码

<br/>

至此,服务端配置完成。接下来,我们通过下面命令启动服务器端

<br/>

<br/>

<br/>

代码语言:javascript

代码运行次数:0

<br/>

运行

<br/>

AI代码解释

<br/>

./frps -c frps.toml

<br/>

到此,服务端配置和启动完成,接下来我们配置客户端。

客户端

同样,我们只需配置客户端文件frpc.toml

必配参数

<br/>

<br/>

<br/>

代码语言:javascript

代码运行次数:0

<br/>

运行

<br/>

AI代码解释

<br/>

serverAddr = "192.168.6.66" #你的公网服务器IPserverPort = 7000 #公网端口,一定要一致。
auth.token = "admin@ql==" #token 一定要一致。

<br/>

添加一个或多个节点

如,我想通过公网访问内网(192.168.50.88)主机的22 3306端口。添加下面配置。

<br/>

<br/>

<br/>

代码语言:javascript

代码运行次数:0

<br/>

运行

<br/>

AI代码解释

<br/>

[[proxies]]name = "mysql" #命令,随意即可
type = "tcp"   #类型为tcp或udp看心情。
localIP = "192.168.50.88" #内网IPlocalPort = 3306   #内网端口,可自定义
remotePort = 3306  #外网端口,可自定义[[proxies]]name = "ssh"type = "tcp"localIP = "192.168.50.88"localPort = 22remotePort = 2222  #不要和公网的冲突

<br/>

以此类推,如果想添加多个,增加[[proxies]]即可。

配置https

跟住时代步伐走,http不说了。 如,在内网中,我在80端口部署了一个web网页。通过内网IP访问。如何通过域名访问呢?

https://nb.cn==192.168.50.88

准备条件

  • 已备案域名

  • 下载对应域名的ssl证书

配置文件

<br/>

<br/>

<br/>

代码语言:javascript

代码运行次数:0

<br/>

运行

<br/>

AI代码解释

<br/>

[[proxies]]name = "https2http"type = "https"customDomains = "nb.cn"type = "https2http"localAddr = "192.168.50.88:80"crtPath = "/data/xichui/ssl/nb.cn.crt"keyPath = "/data/xichui/ssl/nb.cn.key"hostHeaderRewrite = "nb.cn"

<br/>

参数说明:/data/xichui/ssl/nb.cn.crt 便是你下载的ssl证书存放的位置,可根据自己的实际情况修改。

<br/>

<br/>

访问效果

访问效果

访问效果

<br/>


标签: frp

添加新评论 »