使用雷池Waf架构搭建woocommerce外贸网站

需求描述

搭建一个外贸网站,不使用saas平台,使用成熟的架构,尽量以低成本高性价比的方式搭建,网站使用中英双语,需要国内和国外都能访问

技术方案

  1. 综合考虑之后,放弃Shopify平台,选用wordpress的woocommerce系统
  2. 为应对网络攻击,选择雷池作为Waf对网站进行防护
  3. 系统架构图如下

服务器选型建议

源站服务器要求:性能强劲,推荐2核4G以上。

此处我选用netcup的RS 1000 G12,数据中心选择美国,性能够强,平台和系统够稳定,99.9%的最低可用率保证,性价比特别高,自带免费Dos防护,不过由于我们要用雷池Waf,所以用不到这个功能了,地址:https://www.netcup.com/

我在一台RS1000上面同时跑过10个woocommerce商城,运行十分稳定迅速,不过这些网站并发不高

Waf服务器选型要求:这里我使用的是免费版的雷池Waf,只能单线程运行,所以选择1核2G的配置就够了,cpu最好是AMD的,因为单核性能强。这里由于需要考虑到国内用户的访问优化,因此特地选用了DMIT的LAX.AN5.Pro.TINY,这是目前我测试下来目前相对来说国际线路质量和服务最好的。地址:https://www.dmit.io/

如果不需要考虑国内用户访问的话,那直接用netcup的低配服务器就行了

搭建过程

源站服务器

  1. 源站服务器选用debain系统,然后安装aapanel(海外版宝塔),随后一键安装PHP8.4,Mysql8.0,Nginx1.24,安装过程不赘述,网上教程太多了
  2. 到网站--添加站点创建你的站点
  3. 打开站点详情,在域名管理这里再加一个源站服务器公网ip:任意端口号的访问地址,我这里用的是9011,你只要选择没有在使用的端口号就行了,这一步是因为源站是通过公网ip加端口号映射出去给waf的
  4. 选择好重定向规则为wordpress
  5. 到配置这里添加两行配置,ip地址填写Waf服务器的公网ip,防止未经waf的流量攻击源站
bash 复制代码
allow XX.XX.XX.XX;  # 反向代理服务器的IP
deny all;  # 拒绝其他所有IP
  1. 到wordpress官网下载最新版wordpress,随后上传压缩包到服务器上并解压,将里面的文件放到上面第2步的网站路径里面

    网址:https://wordpress.org/download/

  2. 打开站点路径下的wp-config-sample.php/wp-config.php,在/* Add any custom values between this line and the "stop editing" line. */下面添加以下代码

bash 复制代码
/**
 * 修复反向代理后的HTTPS重定向问题
 */
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

/**
 * 处理反向代理后的真实 IP 和 HTTPS
 */
if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
    $forwarded_ips = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
    $_SERVER['REMOTE_ADDR'] = trim( $forwarded_ips[0] );
}

if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
    $_SERVER['HTTPS'] = 'on';
}

Waf服务器

  1. Waf服务器上运行雷池官网的一键安装命令进行安装,地址:https://help.waf-ce.chaitin.cn/node/01973fc6-df0f-7650-bafa-8ed8d2fc2bc1
  2. 到防护应用--高级配置这里打开这些选项
  3. 到黑白名单--自定义规则,添加以下两条规则

bash 复制代码
/wp-json/wp/v2/users/me?context=edit&_locale=user
  1. 到CC防护--频率限制--全局配置修改限制,此处可按需调整
  2. 攻击防护--语义分析模块调整如图所示,关闭了XSS检测是因为在编辑wordpress时这里总是会被误判为攻击,所以我先关闭了,等完成网站搭建之后再开启,各位自行按需调整
  3. 当你意识到自己的访问被拦截时,可以到黑白名单处查看拦截详情,确认是自己的正常访问则可以把ip加入白名单
  4. 将域名的dns添加A记录解析到waf服务器的公网ip
  5. 添加应用,上游服务器地址填写站点刚刚设置的公网ip加端口号,记的开启CC防护和攻击防护

wordpress

  1. 完成上述设置之后,访问网址,开始搭建,步骤就不赘述了,网上教程很多
  2. 主题尽量选择轻量的,个人不建议使用woodmart等特别重的主题,设置特别复杂,且拖慢访问速度,我使用的是astra主题,可以到淘宝购买到正版授权,很便宜
  3. 不建议使用elementor这些的编辑器,拖慢访问速度,且我觉得不好用,使用原生的古腾堡就够用了
  4. AI时代来了,其实更建议是用AI来编写页面html代码,然后放到网页上去,可以比编辑器做的好看多了,推荐使用gemini
  5. 推荐插件:(大多为免费,pro版本可以到tb看看pojie的)
    · Advanced Shipment Tracking for WooCommerce,物流追踪
    · Bulky - Bulk Edit Products for WooCommerce,批量编辑商品信息
    · FileBird Pro,图片分类管理
    · Redis Object Cache,访问速度优化
    · Simple CAPTCHA Alternative with Cloudflare Turnstile,人机验证,不过国内访问质量一般,也可以使用我从子比主题提取出来的人机验证插件
    · SureMail,发邮件的
    · TranslatePress,翻译
    · WC Share Cart URL,购物车分享,不过需要适量对插件代码进行调整才好用
    · WP Statistics,统计网站访问流量

结语

内容太多了,我这里给的教程其实比较简单,网上能搜得到的教程我就不写这么详细了,主要还是想分享一下个人经验总结出来的雷池waf防护框架结构,之前用宝塔直接对外开放网站的时候总是会遇到CC攻击等的一些网络攻击无法处理,现在上了雷池之后就好多了,下期写写怎么优化网站访问速度,这里也多的注意事项。各位读者如果有问题想交流欢迎在评论区留言。

相关推荐
Web极客码14 小时前
WordPress 被重定向到垃圾站的排查全过程
运维·服务器·网络·wordpress
longze_717 小时前
解决wordpress内网穿透后,公网无法访问wordpress管理后台wp-admin问题
数据库·wordpress·反向代理
WordPress学习笔记1 天前
WordPress新手建站选SiteGround还是Hostinger
wordpress
WordPress学习笔记2 天前
专业WooCommerce模板一站式服务平台
wordpress
Web极客码2 天前
如何在WordPress中轻松添加阴影框提升网站设计
wordpress
WordPress学习笔记2 天前
wordpress最好用的页面编辑器古腾堡Gutenberg编辑器
编辑器·wordpress
Web极客码2 天前
在WordPress中启用http2
https·wordpress
Web极客码3 天前
WordPress 被植入隐藏管理员后门?清理实战分析
服务器·网络·wordpress
Web极客码4 天前
WordPress 迁移到新域名后总是跳回旧域名:原因拆解与排查顺序
wordpress
Web极客码7 天前
真实复盘影子目录攻击——绕过WordPress固定链接劫持的手法
wordpress·网站安全·网络攻击·谷歌seo·网站劫持