PrestaShop是一款开源电子商务网站应用程序,致力于为商家和客户提供最佳的购物车体验。它采用PHP编写,具有高度可定制性,支持所有主要支付服务,已翻译成多种语言并为许多国家进行了本地化,具有完全响应式设计(前台和后台)

CloudFlare 是一项出色的服务,可以代理您网站的流量,以提供性能提升和过滤选项。它可以压缩和缓存静态内容,例如 CSS 文件、JavaScript 和图像文件,然后在地理上优化它们向用户提供的方式

在PrestaShop早期的版本中,后台有个设置是Check the cookie’s IP addres,只需要禁用该选项就可以。

新版本PrestaShop取消了这个选项,所以需要从服务端层面解决这个问题,Apache Web 服务器的推荐 mod_remoteip,Nginx需要配置ngx_http_realip_moduleNGINX 模块。

LNMP增加ngx_http_realip_module

ngx_http_realip_module模块不是默认构建,需要使用 --with-http_realip_module 配置参数启用。

找到LNMP安装目录下lnmp.conf文件,修改Nginx_Modules_Options配置。

Nginx_Modules_Options='--with-http_realip_module'

运行./upgrade.sh nginx重新编译Nginx,编译完成后可以执行nginx -V查看是否安装成功

nginx version: nginx/1.24.0
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-20) (GCC)
built with OpenSSL 1.1.1t  7 Feb 2023
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_realip_module --with-openssl=/root/lnmp2.0-full/src/openssl-1.1.1t --with-openssl-opt='enable-weak-ssl-ciphers' --with-http_realip_module

Nginx配置ngx_http_realip_module

修改nginx.conf文件并将以下内容添加到 http 部分

# Cloudflare https://www.cloudflare.com/ips
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
real_ip_header     CF-Connecting-IP;

重新启动 Nginx即可修复问题。