cloudflare 域名无法绑定问题【已废弃】

【已废弃】使用cf,添加域名的时候报错的问题

说明【已废弃】

!!!!重要:Fecify-3.0版本之后,进行了升级,强烈建议使用自动化的方式配置cloudflare:【最佳实践】-CloudFlare-【最佳实践】

重要:【已废弃】本文是Fecify-2.0的配置方式,出错的问题排查,忽略即可。Fecify-3.0版本之后,不要看本文。

情况1【已废弃】

一:问题报错:域名已经存在,请使用其他的域名

问题描述:用户在店铺A(商家端后台,),将店铺域名设置为:www.mybestlive.com,然后进行了删除,改成:shop.mybestlive.com 。然后用户进入店铺B,将域名设置为:www.mybestlive.com,出现报错:

回答:在商家端后台,进行域名设置,一个域名,只支持使用一次,因为shop.mybestlive.com 对应的根域名是mybestlive.com, 而 www.mybestlive.com 对应的根域名也是mybestlive.com,因此,他们属于同一个域名,因此不支持。

为什么要做这个限制?因为:

  • 1.免费版CF的page rule只有3条,仅够一个域名使用。当shop.mybestlive.com使用后,已经占满,因此报错。
  • 2.缓存规则(cache rule)的问题,因为fecify的多货币是基于cookie的,而cf不支持将cookie作为缓存key(企业版cf支持,但是贵死),因此如果您的B2C是多个店铺,每个店铺的默认货币不同,就会导致缓存有问题

问题:如果我必须这样呢?我就是想一个店铺用:www.mybestlive.com,一个店铺用shop.mybestlive.com

回复:这样用,只能有一个域名可以使用cf的缓存,另外一个域名将无法使用cf的页面缓存。设置方式如下:

1.在店铺A的商家端后台,将店铺域名设置为www.mybestlive.com,该域名是可以使用缓存的,也就是功能最全面的

2.进入服务端后台,在店铺管理部分,打开店铺B的详情,在这里设置店铺域名为shop.mybestlive.com ,在服务端后台设置的域名,将不可以使用cf的缓存。

另外,需要注意的是,这里说的不使用缓存,指的是页面缓存,上面的域名shop.mybestlive.com的页面缓存将不可用,但是,对于js,css,以及图片等文件缓存,还是可以使用的。

问题:如果我是cf的pro版本,服务端后台设置店铺域名为shop.mybestlive.com后,我是否可以手动去添加page rule规则,让其支持多个子域名,让其支持页面缓存?

回复:cf的页面缓存规则(cache rule),因为fecify的多货币是基于cookie的,而cf不支持将cookie作为缓存key(企业版cf支持,但是贵死), 因此对于非店铺默认货币(譬如:店铺的默认缓存是USD,用户在前台商城切换货币为EUR货币),将绕过页面缓存(您可以在cache rules里面看到有一条规则,用户切换为EUR货币,将绕过cf的页面缓存)。 因此如果您的多个子域名对应的店铺的默认货币不同,那么就会出问题。因此如果您的多个子域名对应的店铺的默认货币相同,那么就没问题。

对于这种情况,其他的子域名,您需要手动去设置page rules(参看手动设置cf的文档:cloudflare 配置全站缓存)。 而且,您的一个站点刷新缓存(在www.mybestlive.com对应的商家端后台操作刷新CF缓存),那么其他的子域名对应的站点的缓存也将会被刷新。

问题:如果我是的cf的免费版本,服务端后台设置店铺域名为shop.mybestlive.com后,我是否有办法让其支持多个子域名?让其支持页面缓存

回复:可以,和上面的问题回复类似,您需要保证您的多个子域名对应的店铺的默认货币相同,譬如都是美元。

和上面的步骤类似,商家端后台域名设置www.mybestlive.com, 然后,服务端后台设置其他子域作为店铺域名shop.mybestlive.com。然后,您需要您需要手动操作,进入cf的操作后台

可以看到2行www.mybestlive.com域名对应的规则,点击上面的按钮进行编辑,将其改成范域名的格式

改完后:

这样就可以了。需要注意的是,在商家端后台不要重新操作域名设置,否则会报错。

上面的这几种情况,都是尽大话的满足用户,但是,需要您仔细看清楚上面的逻辑,明白原理,才可以操作。操作完成后,反复验证一下缓存问题,切换货币的问题等等,以免出问题。 我们是不建议用户操作这些的,除非您的需求非常特殊,那么您需要仔细看一下上面的文档,琢磨清楚cf的原理,再操作。

二:域名更改后,创建301报错

报错详细:

cloudflare create page rule 301 fail | Client error: `POST https://api.cloudflare.com/client/v4/zones/cbfe3009227c090c418f1727ac872d18/pagerules` resulted in a `400 Bad Request` response: {"success":false,"errors":[{"code":1008,"message":"Page Rule limit has been met"}],"messages":[],"result":null}

解决:将page rules进行删除(全部删除即可)

然后刷新页面(fecify域名绑定页面),重新绑定即可。

Copyright © fecify.com 2022 all right reserved,powered by Gitbook该文件修订时间: 2023-08-27 09:22:27

results matching ""

    No results matching ""