互联网上的攻击和扫描流量非常多,为了保证网站安全,在网站之前新增 WAF 防护是必要的。之前有了解过宝塔云 WAF,但需要独立的一台服务器来部署,架构不够灵活,对于个人用户来说成本太高了。后来在微信公众号上看到简单好用的 Web 安全网关 - 雷池这篇文章,得知了雷池 WAF,基于 Nginx 开发,以反向代理方式接入,部署架构灵活,可以与 WEB 服务部署在同一台服务器(官方不推荐),是一款广受好评的社区 WAF 项目。不过在网站管理上,许多个人用户都是通过宝塔面板进行管理,宝塔面板的 Nginx 默认监听端口为 80 和 443,这就导致共存部署时雷池 WAF 默认无法监听 80 和 443 端口,那怎么办呢?本文将根据未添加 WAF 之前源站的监听端口分情况进行介绍。
说明
以下情况分类的依据:
- 只考虑雷池 WAF 和宝塔面板共存部署的情况
- 添加 WAF 前后站点的访问协议、域名 / IP、端口保持不变
源站监听非 80/443 端口
修改宝塔面板站点端口
- 在 “
网站
” 中找到对应的站点,单击右侧的 “设置
” - 切换到 “
配置文件
”,修改监听端口为其他非占用端口,单击 “保存
”
雷池 WAF 添加站点
- 在 “
防护站点
” > “站点管理
” 中单击 “添加站点
” - 如下图所示填写站点信息,单击 “
提交
” 完成站点添加
填写项 | 说明 |
---|---|
域名 | [选填] 如果有域名,填写站点域名即可 |
端口 | [必填] 填写监听端口,不可与源站端口一致 |
SSL | 站点协议为 HTTP 时不勾选;站点协议为 HTTPS 时勾选,并选择站点证书 |
上游服务器 | [必填] 填写源站的 URL 地址(协议 + IP + 端口) |
备注 | [选填] 自定义站点备注信息 |
源站监听 80 端口(HTTP)
修改宝塔面板 Nginx 80 端口
- 在 “
网站
” 中找到对应的站点,单击右侧的 “设置
” - 切换到 “
配置文件
”,修改 HTTP 默认监听端口为其他非占用端口,单击 “保存
” - 在 “
网站
” 中单击 “Nginx1.X.X
” 打开 Nginx 管理窗口 - 切换到 “
配置修改
”,下滑配置文件内容到底部,找到include
指令,找到 Nginx 引入的配置文件路径,例如/www/server/panel/vhost/nginx/
- SSH 登录服务器,进入
/www/server/panel/vhost/nginx/
,分别编辑0.default.conf
和phpfpm_status.conf
文件,将默认监听端口修改为其他非占用端口,最后保存退出
server
{
listen 81; # 默认监听端口80,修改为其他非占用端口
...
}
- 在 “
网站
” 中单击 “重载
” 使配置生效
雷池 WAF 添加站点
- 在 “
防护站点
” > “站点管理
” 中单击 “添加站点
” - 如下图所示填写站点信息,单击 “
提交
” 完成站点添加
填写项 | 说明 |
---|---|
域名 | [选填] 如果有域名,填写站点域名即可 |
端口 | [必填] 填写监听端口为 80 |
SSL | 不勾选 |
上游服务器 | [必填] 填写源站的 URL 地址(协议 + IP + 端口) |
备注 | [选填] 自定义站点备注信息 |
源站监听 443 端口(HTTPS)
这种情况可以有以下两种配置方式
- 方式一:雷池 WAF HTTPS –> 宝塔站点 HTTPS
- 方式二:雷池 WAF HTTPS –> 宝塔站点 HTTP
方式一 雷池 WAF HTTPS –> 宝塔站点 HTTPS
修改宝塔面板 Nginx 443 端口
- 在 “
网站
” 中找到对应的站点,单击右侧的 “设置
” - 切换到 “
配置文件
”,修改 HTTPS 默认监听端口为其他非占用端口,单击 “保存
”
雷池 WAF 添加站点
- 在 “
防护站点
” > “证书管理
” 中单击 “添加证书
” - 选择 “
上传已有证书
”,填写证书和私钥内容,最后单击 “提交
” 完成证书添加
说明
如果域名还没有证书,也可以选择 “申请免费证书
” 申请 Let’s Encrypt 的证书
- 在 “
防护站点
” > “站点管理
” 中单击 “添加站点
” - 如下图所示填写站点信息,单击 “
提交
” 完成站点添加
填写项 | 说明 |
---|---|
域名 | [选填] 如果有域名,填写站点域名即可 |
端口 | [必填] 填写监听端口为 443 |
SSL | 勾选并选择刚添加的证书 |
上游服务器 | [必填] 填写源站的 URL 地址(协议 + IP + 端口),协议一定要写 https:// |
备注 | [选填] 自定义站点备注信息 |
说明
配置完后访问站点如果提示 “显示站点重定向次数过多
”,将宝塔站点的 “强制HTTPS
” 选项关闭再试试
方式二 雷池 WAF HTTPS –> 宝塔站点 HTTP
关闭宝塔面板站点 HTTPS
- 在 “
网站
” 中找到对应的站点,单击右侧的 “设置
” - 切换到 “
SSL
”, 单击 “关闭SSL
” - 切换到 “
配置文件
”,修改 HTTP 默认监听端口为其他非占用端口,单击 “保存
”
雷池 WAF 添加站点
- 在 “
防护站点
” > “证书管理
” 中单击 “添加证书
” - 选择 “
上传已有证书
”,填写证书和私钥内容,最后单击 “提交
” 完成证书添加
说明
如果域名还没有证书,也可以选择 “申请免费证书
” 申请 Let’s Encrypt 的证书
- 在 “
防护站点
” > “站点管理
” 中单击 “添加站点
”
- 如下图所示填写站点信息,单击 “
提交
” 完成站点添加
填写项 | 说明 |
---|---|
域名 | [选填] 如果有域名,填写站点域名即可 |
端口 | [必填] 填写监听端口为 443 |
SSL | 勾选并选择刚添加的证书 |
上游服务器 | [必填] 填写源站的 URL 地址(协议 + IP + 端口) |
备注 | [选填] 自定义站点备注信息 |