互联网上的攻击和扫描流量非常多,为了保证网站安全,在网站之前新增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+端口) |
备注 | [选填]自定义站点备注信息 |