【发布时间】:2021-05-04 00:39:03
【问题描述】:
当我启用 AWS Cloudfront CDN 以加快网站速度时,我的网站上出现了 Woocommerce 问题。
该站点托管在 AWS EC2 Bitnami 实例上。该网站的任何部分都托管在 S3 中。
启用 Cloudfront 并且我将产品添加到购物车然后从购物车中按“Proceed To Checkout”按钮时,没有任何反应,浏览器只是再次加载购物车页面。如果我在 AWS for WordPress 插件中禁用 Cloudfront,那么它会按预期工作并打开结帐页面。这发生在所有浏览器中。
此外,如果我更新数量以添加额外选项,则购物车页面会重新加载“您的购物车是空的”消息。购物车图标仍然有一个“1”,当我按下它时,购物车页面会返回并放置商品,但在按下“Proceed To Checkout”按钮时我遇到了同样的问题。
查看浏览器中的开发人员工具,没有任何错误的迹象。这似乎是一些缓存或 cookie 问题。
我有一个 Cloudfront 策略,在标题中将 Origin、Access-Control-Request-Method 和 Access-Control-Request-Headers 列入白名单,以解决字体文件的 CORS 问题 这按预期工作并且字体正确加载,在此之前原位字体图标不会显示,我会收到很多 404 错误。
根据Cloudfront + Woocommerce - cart not updating SO 帖子的一些答案,我尝试将所有 cookie 列入白名单,并将我在调试此问题时添加的 jsut wp_woocommerce_session_* 列入白名单。这些选项都没有任何区别。
我可以让它工作的唯一方法是禁用 Cloudfront。但是,如果没有它,该网站的加载速度会很慢,并且 SEO 结果会受到影响。
知道我需要更改哪些设置才能使其正常工作吗?
【问题讨论】:
标签: amazon-web-services woocommerce amazon-cloudfront