一、Linux服务器安装Linux宝塔面板
这个步骤参考网上其他教程。
二、Linux宝塔面板部署wordpress网站
这个步骤参考网上其他教程,保证网站能够正常访问,并且使用Linux宝塔面板申请并部署了SSL证书,使用https协议默认443端口正常访问网站。
三、Linux宝塔面板部署雷池WAF
本教程wordpress网站使用SSL证书,采用https访问,雷池WAF作为反向代理防护网站使用443端口和80端口,因此需要修改Linux宝塔面板部署wordpress网站SSL证书时使用的443端口为其他端口,例如38443;Linux宝塔面板占用的80端口修改为其他端口,例如3880。可以自定义端口(范围1024~65535)。
1.安全策略放行端口 在服务器安全组中和Linux宝塔面板安全策略中放行38443(https更改端口)、3880(http更改端口)、9443(雷池WAF默认端口)。
2.查看nginx服务配置文件路径 登陆Linux宝塔面板,“网站”=>双击“Nginx”图标,在弹出框中,选择“配置修改”。在最下面,有nginx服务配置文件路径,如下图所示:
/www/server/panel/vhost/nginx
3.修改网站nginx配置文件152.32.129.190.conf
使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,切换到nginx服务配置文件所在目录,并编辑网站配置文件152.32.129.190.conf
,修改443端口为38443端口,并保存。如下图所示:
root@12-7-10-92:~# cd /www/server/panel/vhost/nginx
root@12-7-10-92:/www/server/panel/vhost/nginx# ls
0.default.conf 0.websocket.conf 152.32.129.190.conf phpfpm_status.conf tcp well-known
root@12-7-10-92:/www/server/panel/vhost/nginx# vim 152.32.129.190.conf
root@12-7-10-92:/www/server/panel/vhost/nginx#
4.修改网站nginx配置文件phpfpm_status.conf
使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,切换到nginx服务配置文件所在目录,并编辑网站配置文件phpfpm_status.conf
,修改80端口为3880端口,并保存。如下图所示:
root@12-7-10-92:~# cd /www/server/panel/vhost/nginx
root@12-7-10-92:/www/server/panel/vhost/nginx# ls
0.default.conf 0.websocket.conf 152.32.129.190.conf phpfpm_status.conf tcp well-known
root@12-7-10-92:/www/server/panel/vhost/nginx# vim phpfpm_status.conf
root@12-7-10-92:/www/server/panel/vhost/nginx#
5.修改网站nginx配置文件0.default.conf
使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,切换到nginx服务配置文件所在目录,并编辑网站配置文件0.default.conf
,修改80端口为3880端口,并再添加一个server块,用于雷池WAF把80端口和443端口数据流量映射到59443端口,如果通过服务器IP地址直接访问网站,则返回403,这样就可以禁止使用IP地址访问网站,只能使用域名访问网站
,最后保存文件。如下图所示:
由于网站启用了SSL证书,需要在该配置文件0.default.conf
中指定自己网站使用的SSL证书的路径,该路径可以在/www/server/panel/vhost/nginx目录中的152.32.129.190.conf
配置文件中查找到。(如果网站根目录使用服务器IP地址,就是服务器IP.conf
配置文件)。修改0.default.conf
配置文件前,先备份一下该文件。
root@12-7-10-92:~# cd /www/server/panel/vhost/nginx
root@12-7-10-92:/www/server/panel/vhost/nginx# ls
0.default.conf 0.websocket.conf 152.32.129.190.conf phpfpm_status.conf tcp well-known
root@12-7-10-92:/www/server/panel/vhost/nginx# vim 0.default.conf
root@12-7-10-92:/www/server/panel/vhost/nginx#
6.添加域名和端口 在Linux宝塔面板中,“网站”=>双击“网站名152.32.129.190”=>“域名管理”,添加自己的域名:端口,如下图所示:
www.ceshi.com:38443
ceshi.com:38443
7.添加域名301重定向
在Linux宝塔面板中,“网站”=>双击“网站名152.32.129.190”=>“重定向”=>“添加重定向“。
重定向类型:域名
,重定向方式:301(永久重定向)
,重定向域名:ceshi.com
,目标url:https://www.ceshi.com
,这样在浏览器中输入不带www域名ceshi.com
,就会重定向到带www域名https://www.ceshi.com
,如下图所示:
8.重启nginx服务和php服务 在Linux宝塔面板中,软件商店中的“已安装”。重启nginx服务和php服务。如下图所示:
9.安装docker和docker-compose 使用Linux宝塔面板内的终端或其他远程SSH工具登陆服务器,并切换到root用户,安装docker和docker-compose
root@12-7-10-92:~# apt install docker
root@12-7-10-92:~# apt install docker-compose
雷池WAF社区版官网:https://waf-ce.chaitin.cn/
可以使用自动安装方式,安装成功后,会有提示登陆雷池WAF网址、账户、密码
root@12-7-10-92:~# bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
10.雷池WAF添加Linux宝塔面板中部署的SSL证书 登陆雷池WAF,“防护站点”=>“证书管理“,添加自己Linux宝塔面板中部署的SSL证书信息。
11.雷池WAF添加站点信息
在雷池WAF中,“防护站点”=>“站点管理“,添加站点。如下图所示:
添加域名,选择80端口、443端口(勾选SSL),选择上一步骤添加的证书,上游服务器:https://127.0.0.1:38443
12.查看雷池WAF是否部署成功 登陆雷池WAF可以看到有攻击信息并拦截,说明雷池WAF部署成功。
13.雷池WAF修改默认设置 在“防护配置”模块下可以修改雷池WAF默认一些设置:
14.在浏览器测试使用IP地址不能访问网站,而使用域名可以正常访问网站。
14.1)、使用https://IP
访问,IP地址不能访问,如下图所示:
14.2)、使用http://IP
访问,IP地址不能访问,如下图所示:
14.3)、使用不带www域名ceshi.com
和带www域名www.ceshi.com
都可以正常访问网站。