可能有许多人都有这个需求:为自己的个人站点套上WAF,增加安全性,本文将介绍如何将1panel面板深度结合长亭雷池防火墙,实现为个人站点套上WAF并且自动续签ssl证书。
由于1panel和雷池WAF功能更新较快,上一篇文章已经不再适合最新版本,故重新以最新版本进行更新。
参考1panel官方文档,有详细的一键部署教程。
若在部署过程中出现问题,绝大多数都是由于网络原因导致docker安装失败,可手动运行一键脚本安装:
curl -fsSL https://get.docker.com/ | sh
curl -fsSL https://get.docker.com/ | sh --mirror Aliyun
如图找到OpenResty,点击安装。
在安装配置页注意:修改HTTP/HTTPS的默认端口,后期WAF对外使用会占用80,443端口。这里改为180,1443,点击确认安装OpenResty。
此处安装取决于服务器连接 dockerhub 的速度,若为国内服务器或速度过慢,可在容器
-配置
-镜像加速
中填入如下配置:
https://dockerproxy.com
https://hub-mirror.c.163.com
https://docker.m.daocloud.io
https://ghcr.io
https://mirror.baidubce.com
https://docker.nju.edu.cn
如图,按照顺序点击创建网站
点击创建静态网站,主域名填写站点域名,其他域名填写 127.0.0.1:任意未占用端口,如此处127.0.0.1:10000,点击确定创建静态网站。
反向代理本机的各种工具类站点,以Alist为例,安装时若未选择 端口外部访问
,1panel会将其服务端口映射到127.0.0.1而非0.0.0.0,故适合使用反向代理搭建。
主域名填写站点域名,其他域名填写 127.0.0.1:任意未占用端口,如此处127.0.0.1:10001,点击确定创建反向代理。
PHP站点的搭建,需要先创建运行环境,如下图:
等待安装PHP环境
当状态转为正常时即安装完毕。
点击创建网站,选择运行环境,主域名填写站点域名,其他域名填写 127.0.0.1:任意未占用端口,如此处127.0.0.1:10003,点击确定创建反向代理。
一键部署参考此处https://docs.halo.run/getting-started/install/1panel/,注意其他域名填写 127.0.0.1:任意未占用端口。
新版本雷池已支持自动申请更新免费证书,故不再需要从1panel借调证书来使用,详细见下文
参考雷池官方文档,同样有详细的一键部署教程。
若在部署过程中出现问题,可查看是否为文档
中所提到的环境问题
使用https://IP:9443访问WAF
使用支持TOTP的认证软件进行认证
在雷池通用配置
-证书管理
中添加证书,可申请免费证书,在雷池反代本机站点时可套用。
为保证网站流量均从WAF进入,在1panel中开启防火墙,具体可参考官方文档,屏蔽掉之前配置的OpenResty的默认端口。
新版雷池添加了证书申请功能,大大降低面板对接WAF的证书问题,更快,更简单的上线站点。