使用雷池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极客码3 小时前
WordPress 在哪里存储网站上的图片?
运维·服务器·wordpress
2601_949532841 天前
Psello HTML Template: A Developer‘s Deep-Dive Review and Guide - Download Free
前端·windows·html·seo·wordpress·gpl
Web极客码1 天前
选择CDN提升WordPress博客速度
cdn·wordpress·网站加速
belldeep4 天前
网络安全:WAF 雷池 SafeLine 介绍
安全·web安全·雷池·safeline
探索宇宙真理.4 天前
AhaChat Messenger WordPress漏洞 | CVE-2025-14316 复现&研究
经验分享·开源·wordpress·安全漏洞
WordPress学习笔记6 天前
WordPress主题模板与插件定制
wordpress
WordPress学习笔记8 天前
利用Multisite实现WordPress多语言网站
wordpress
Web极客码8 天前
如何在WooCommerce中隐藏产品价格
wordpress·网站优化·woocommerce
gpldock2228 天前
Medicon Theme Review: A Deep Dive for Developers and Clinic Owners - Free
wordpress