【发布时间】:2016-07-03 23:54:49
【问题描述】:
我有一个网站,例如 example.com 并要求 CloudFlare 将 所有 流量从 http 重定向到 https 以获取通配符子域的 负载 (公司 www); AND 顶点(即 @ 或 /),但 NOT 用于一组子域,这些子域实际上是不接受 https 的 3rd 方服务的 CNAME,例如
http://mail.example.com
http://calendar.example.com
http://drive.example.com
http://xyz.example.com
NB 重定向到 https 协议是不可行的,因为它不受这些 3rd 方服务的支持。
对此,this question 解决了我的一半问题。相关答案贴在下面:
根据Source A;
页面规则按照它们列出的顺序应用。 所以,你所要做的就是先放绕过缓存,然后放缓存>everything规则:
nope.example.com/(绕过)
example.com/(缓存一切)
但每个 TLD 域的页面规则不能超过 3 条,因此无法将我的 http only 子域列为单独的页面规则。
是否可以创建具有逻辑 OR 的 CloudFlare 页面规则来针对特定子域白名单的流量?
我的想法是,也许我可以在一个字符串中表达多个规则,方法是使用正则表达式从一个页面规则中定位每个仅 http 子域。
例如作为无效语法的伪代码:
http://mail||calendar||drive||xyz.example.com
如何创建一个有效的 RegEx 来实现这一点?
谢谢
【问题讨论】:
标签: regex http https cloudflare subdomain