南昌正规网站公司吗,做wordpress总结,项目计划书范文,安徽省建设部干部网站可能有许多人都有这个需求#xff1a;为自己的个人站点套上WAF#xff0c;增加安全性#xff0c;本文将介绍如何将1panel面板深度结合长亭雷池防火墙#xff0c;实现为个人站点套上WAF并且自动续签ssl证书。
前提条件#xff1a; 服务器IP已绑定域名 完整的1panel环境 …可能有许多人都有这个需求为自己的个人站点套上WAF增加安全性本文将介绍如何将1panel面板深度结合长亭雷池防火墙实现为个人站点套上WAF并且自动续签ssl证书。
前提条件 服务器IP已绑定域名 完整的1panel环境 1panel未安装OpenResty 有支持 TOTP 的认证软件如腾讯身份验证器谷歌身份验证器微软身份验证器FreeOTPBitwarden等
安装OpenResty
如图找到OpenResty点击安装。
在安装配置页注意修改HTTP/HTTPS的默认端口后期WAF对外使用会占用80,443端口。这里改为1801443点击确认安装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站点的搭建需要先创建运行环境如下图 等待安装PHP环境 当状态转为正常时即安装完毕。
点击创建网站选择运行环境主域名填写站点域名其他域名填写 127.0.0.1:任意未占用端口如此处127.0.0.1:10003点击确定创建反向代理。 一键部署网站搭建
一键部署参考此处https://docs.halo.run/getting-started/install/1panel/注意其他域名填写 127.0.0.1:任意未占用端口。
证书申请
创建Acme账户
如图按此顺序创建ACME账户 创建DNS账户
参考 1panel官方文档 创建DNS账户
申请证书
参考 1panel官方文档 申请证书
部署证书
在部署好的站点中点击配置点击基本HTTPS启用HTTPS将HTTP选项修改为HTTP可直接访问下方选择对应证书后保存。 获取证书文件
进入网站目录进入SSL文件夹下载保存fullchain.pemprivkey.pem两个文件备用。 部署长亭雷池WAF
长亭雷池的安装可参考该文https://waf-ce.chaitin.cn/docs/guide/install注意雷池要求CPU支持ssse3指令集。
我在此选择一键安装安装到/opt/safeline
bash -c $(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)
成功安装后显示如下
使用**https://IP:9443**访问WAF使用**支持TOTP的认证软件**进行认证### 添加证书
如图在通用配置-证书管理**添加证书**上传之前下载的证书文件。

### 站点通用配置
如图在通用配置-**其他****站点通用配置**根据需求开启我这里全部开启。
### 添加防护站点
如图在防护站点中**添加站点****根据需求配置**上游服务器填写**1panel****的OpenResty配置的其他域名**提交。其他网站同理。### 测试访问
## 自动更新雷池WAF的SSL证书
如下图在1panel中添加计划任务添加shell脚本脚本内容及解析见下。bash
sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/fullchain.pem /opt/safeline/resources/nginx/certs/cert_1.crt
# 从域名的ssl目录下复制证书到safeline的nginx目录下替换原有证书该证书用于雷池的防护站点
sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/privkey.pem /opt/safeline/resources/nginx/certs/cert_1.key
# 从域名的ssl目录下复制密钥到safeline的nginx目录下替换原有密钥该密钥用于雷池的防护站点
sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/fullchain.pem /opt/safeline/resources/management/certs/server.crt
# 从域名的ssl目录下复制证书到safeline的nginx目录下替换原有证书该证书用于雷池的管理站点可不设置使用自签证书
sudo cp -f /opt/1panel/apps/openresty/openresty/www/sites/域名/ssl/privkey.pem /opt/safeline/resources/management/certs/server.key
# 从域名的ssl目录下复制密钥到safeline的nginx目录下替换原有密钥该密钥用于雷池的管理站点可不设置使用自签密钥
sudo docker restart safeline-tengine
# 重启safeline的nginx服务使证书生效
sudo docker restart safeline-mgt-api
# 重启safeline的管理api服务使证书生效防护
为保证网站流量均从WAF进入在1panel中开启防火墙,具体可参考官方文档屏蔽掉之前配置的OpenResty的默认端口。