宝塔面板+frp内网穿透+博客建站共存教程

前言

作者是个技术小白,非计算机相关专业,习惯使用宝塔面板建站、部署SSL证书比较方便。因为使用移动宽带,有内网穿透需求。所以,需要在不影响云服务器搭建网站的同时,使用frp进行内网穿透。

frp 是一个高性能的反向代理应用,支持 tcp, udp, http, https 协议。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。

需要准备的东西:

  • 一台装好宝塔面板和Nginx的服务器,这里使用腾讯云轻量应用服务器。
  • 一个解析好的域名,最好使用支持泛解析的服务,这里使用腾讯DNSPod。

1.配置frp服务端(frps)

首先用ssh连接vps,切换到root用户,输入脚本安装命令安装frps。

Aliyun(大陆地区VPS适用)

wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh./install-frps.sh install
./install-frps.sh install

Github

wget https://raw.githubusercontent.com/MvsCode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

frps脚本

注意:http和https不能使用默认80和443端口,需要做修改,也就是说除了80,443外,1-65535任意端口都可以,前提是不能有其他项目占用想要设置的端口,比如作者用808代替80端口,909代替443,这样就可以避开其他程序占用80或443的问题。

其他设置如图所示,一路回车即可。遇到需要修改用户名和密码的地方,可以按需修改,也可以默认,最后会把所有信息列出来。

frps相关参数设置

frps参数确认

这一步是让你确认配置,还没有安装成功,继续按回车键,等待自动安装完成。

frps安装成功

至此,frp服务端安装完成。

注意!注意!注意!

必须开放对应的防火墙端口,需要开放的端口包括808、909、5443、6443。

云服务器和宝塔面板的防火墙都需要开放对应端口!!!

2.宝塔面板配置

2.1域名解析

提前解析好域名,如果你的域名支持泛解析的话,就一起做解析,操作方法就是在A记录中添加一个“*”即可。

一级域名泛解析示例

本文使用的是二级域名进行泛解析。

二级域名泛解析示例

如果域名解析商不支持泛解析,也不影响后续操作,把需要用到的域名全部解析即可。

2.2宝塔面板建站

宝塔面板建站

首先点击左侧的

网站

,之后点击上方绿色的

添加站点

,把你对应远程设备的域名都添加进宝塔面板的网站域名中即可,后续有增加,也要跟着添加进来。PHP版本选择

纯静态

2.3设置反向代理

站点设置反向代理

点击新建站点的

设置

,点击对话框中左侧的

反向代理

。代理名称随便写,目标URL输入

http://127.0.0.1:808

,点击

保存

至此,反向代理配置完成。

3.frp客户端配置(frpc)

3.1OpenWrt中frp内网穿透客户端

注意:固件是否集成frp内网穿透插件,要看编译固件的作者。如果没有集成该插件,可自行安装。

进入

服务-frp内网穿透

,具体设置如下:

OpenWrt-frp客户端设置

点击保存后继续点击下方的

添加

,进行内网设备的相应设置。

OpenWrt-frp客户端添加服务

3.2群晖DSM使用frp客户端

如果没有OpenWrt,可以在群晖使用frpc docker进行内网穿透。

3.2.1Docker镜像下载

打开

Docker

,点击

注册表

,搜索

frpc

。选择

stilleshan/frpc

下载,选择

latest

为最新版本。这个镜像是参考教程的博主部署的。
注册表搜索frpc

下载frpc镜像
选择latest版本

3.2.2配置frpc.ini

在群晖NAS任意位置新建或者上传frpc.ini文件。使用群晖的文本编辑套件或

Notepad++

等编辑器来创建和编辑.ini文件,避免Windows下的后缀问题导致容器错误。

本文以

/docker/frpc/frpc.ini

为例,文件路径如图:
设置配置文件路径

frpc.ini配置示例

[common] server_addr = 服务器IP 
server_port = 5443 
token = abc123
 [nas]
 type = http 
local_port = 5000 
subdomain = nas
 [jellyfin] 
type = http 
local_port = 8096 
subdomain = dy
3.2.3创建容器

选择

映像

,双击

stilleshan/frpc:latest


创建容器
勾选

使用高权限执行容器

,点击

高级设置


容器常规设置
选择卷,添加文件,指定到你frpc.ini所在的位置,装载路径为

/frp/frpc.ini

注意:装载路径由镜像作者规定,不能修改,请直接复制粘贴。

设置文件装载路径
选择

网络

,勾选

使用与Docker Host相同的网络

,点击

应用


设置网络
点击

应用

完成配置。
应用设置
容器中可以看到frpc正在运行中。之后可以随时停止容器,编辑frpc.ini来配置你的域名,再次启动容器即可。全程无需使用命令行来操作。
容器运行

至此,全部配置完成,可以随时随地访问自己的内网设备了~

4.实现SSL访问

4.1申请证书

通过腾讯云DNSPod申请免费证书,有效期1年。申请后很快会提示通过,申请了2次都在5分钟内审核成功。

申请成功后,服务器类型

其他

,点击

下载

下载其他类型证书

4.2部署证书

登录宝塔面板,打开

网站

,站点设置

SSL

,将对应的key和pem文本粘贴进去,点击

保存

,开启

强制HTTPS

即可。

注意:免费证书不支持泛域名,所以必须单独设置解析,单独添加站点开启HTTPS访问。

5.脚本相关命令

Uninstall(卸载)

1
./install-frps.sh uninstall

Update(更新)

1
./install-frps.sh update

Server management(服务管理器)

1
frps start|stop|restart|status|config|version

需要注意的问题

如果你使用的国内服务器,因为没有备案,即使设置成功也无法使用域名直接访问。

解决方案:

  1. 使用香港或国外服务器;
  2. 申请备案。

参考链接:

  1. https://wxf2088.xyz/2930.html
  2. https://www.ioiox.com/archives/26.html

https://blog.holob.cn/2022/02/04/frp-nginx/

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享