首页 > 其他分享 >Cloudflare 重定向配置

Cloudflare 重定向配置

时间:2023-07-22 09:33:46浏览次数:30  
标签:重定向 Rules 配置 域名 DNS Cloudflare

最近把之前的一个网站域名换成另一个域名,想要添加一下重定向,避免流量流失(虽然本来就没流量)。然后在 Cloudflare 配置时尝试多次都失败了,遇到各种 Your connection is not private 或者 Webpage Temporarily Down or Moved Permanently 报错,还有跳到 404 页面等各种问题。最后终于解决,这里记录一下。

Cloudflare 重定向配置的几种方案

要在 Cloudflare 中配置重定向有非常多的方式,进入 Cloudflare 域名管理的 Rules 页面可以看到右侧有非常多的规则可供配置,其中有好几个可以实现重定向,这里挑最简单的 Page Rules 和 Redirect Rules 说一下。

Page Rules

Page Rules 算是比较早期的功能,免费额度较少只有 3 个,配置重定向只需要参考下图:

picture 0

其中 * 和 $1 是使用通配符匹配 URL 的后缀并将其携带到新地址。配置过 Nginx 的应该都了解,也可以理解为简单的正则替换。

在清单页面可以进行规则的排序和开启关闭,规则从前到后依次应用,如果有规则冲突则需要注意排序问题。

picture 1

Redirect Rules

Redirect Rules 是近期才推出的功能,专门用于解决重定向问题,所以使用起来可能会更好理解,配置可参考下图:

picture 2

这里不需要写通配符,如果需要保留 URL 后缀通过勾选最下方的 Preserve query string 即可。

在清单页面同样可以进行排序和开启关闭操作。

picture 3

另外 Cloudflare 还提供了 Bulk Redirects,可以用于批量重定向的配置,比如网站迁移后 URL 规则变更了,可能就需要使用类似的功能。

Header Modification 和 Workers

另外 Header Modification 可用于修改请求和响应的 Header 信息,理论上为 response headers 添加上 location 头也可以实现重定向的功能。

而 Workers 功能更强大,可直接拦截请求后返回 301 重定向,不过有一定上手成本。

问题原因

再说说我遇到的问题,其实问题的原因很简单,因为我忘记为被重定向的域名配置 DNS 了。Cloudflare 中的一系列功能其实是需要流量通过它的 Proxy 才能实现的,而如果没有为域名配置 DNS,请求发起时浏览器无法从 DNS 服务器获取到域名的 IP 地址,也就无法发出请求。

所以要实现重定向,我们可以想一下流量的走向:

  1. 首先浏览器拿到 URL 后对域名进行解析,所以这一步要求我们必须为被重定向的域名添加 DNS 记录
  2. 浏览器拿到目标 IP 后发起请求,这里要注意如果拿到的不是 Cloudflare 的 IP,Cloudflare 就无法帮我们进行重定向的操作。所以这里要求我们为被重定向的域名添加的 DNS 记录必须开启了 Proxy 功能
  3. 浏览器接收到返回的 HTTP response,进行重定向操作。

另外添加的 DNS 记录最好使用 CNAME 记录指向到目标域名,其中的问题是什么暂时我还没搞清楚。

标签:重定向,Rules,配置,域名,DNS,Cloudflare
From: https://www.cnblogs.com/zxbing0066/p/17572858.html

相关文章

  • mac配置初体验
    安装JDK进入azul下载对应版本、安装https://www.azul.com/downloads/查看安装路径/usr/libexec/java_home-V###输出以下内容MatchingJavaVirtualMachines(2):16.0.2(arm64)"AzulSystems,Inc."-"Zulu16.32.15"/Users/xiaoming/Library/Java/JavaVirt......
  • 如何在 SQL Server 2016 中为可用性组配置只读路由
    SQLServerAlwaysOn可用性组概念在SQLServer2012中首次引入,作为企业级高可用性和灾难恢复解决方案,将取代数据库镜像功能。AlwaysOnAvailabilityGroup在组级别提供高可用性解决方案,其中每个组可以包含任意数量的数据库,这些数据库可以复制到多个辅助服务器(称为副本)。SQL......
  • 在vscode中配置git
    1.配置VsCode的Git地址1.1.打开“文件”-“首选项”-“设置” 搜索git.path  打开setting.json1.2.添加“git.path”:“Git实际安装地址”VsCode中git路径的设置(window系统)---参考文章https://code84.com/767977.html2.在vscode中,默认提交到master分支2.1.有文件更改......
  • struts2 jsonplugin includeProperties中对list集合的正则配置
     1、listAttachment.*\.realName 和listAttachment.* 效果一样,元素中所有的属性都json化了   "listAttachment":[{"encodedRealName":"%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1%E4%B9%A6%E5%88%97%E8%A1%A820111223102409.xls","id":"408080b7......
  • linux Vim配置Golang语言环境
    下载vim要配置Linux上的Vim,可以按照以下步骤进行操作:打开终端并运行以下命令安装Vim:sudoapt-getupdatesudoapt-getinstallvim12在主目录下创建.vimrc文件:cd~touch.vimrc12编辑.vimrc文件并添加您想要的配置选项。例如,您可以添加以下行以启用语法高亮和......
  • Kong API Gateway 配置文件详解
    一、前言Kong配置文件是Kong服务的核心文件,它配置了Kong以怎样的方式运行,并且依赖于这个配置生成Nginx的配置文件,本文通过解读Kong配置文件,以了解Kong的运行和配置。在成功安装Kong以后,会有一个名为kong.conf.default默认的配置文件示例,如果是通过包管理器安装的,通常位于/etc/k......
  • MINIO配置TLS访问
    服务端证书生成opensslgenrsa-outca.key2048opensslreq-x509-new-nodes-keyca.key-subj"/CN=*.*.*.*"-days365-outca.crtopensslgenrsa-outserver.key2048opensslreq-new-nodes-keyserver.key-subj"/CN=*.*.*.*"-outserver.cs......
  • ShardingSphere水平分表策略配置和测试实战
    概念水平分表把一个表的数据分到一个数据库的多张表中,每个表只有这个表的部分数据核心是把一个大表,分割N个小表,每个表的结构是一样的,数据不一样,全部表的数据合起来就是全部数据针对数据量巨大的单张表(比如订单表),按照某种规则(RANGE,HASH取模等),切分到多张表里面去......
  • 给 SAP Fiori Launchpad 配置自定义 url
    步骤在部署了Fiori前端应用的frontend服务器上,使用事务码sicf.选择hierarchytypeSERVICE然后点击执行按钮。选择ExternalAliases,然后选定一个host,创建externalaliases.IntheExternalAliasfield,enterthealiasunderwhichyouwantthelaunchpad......
  • linux安装配置java环境
    Linux安装配置Java环境简介在Linux操作系统上安装和配置Java环境是开发者必备的基础工作之一。本文将向刚入行的小白介绍在Linux系统上安装和配置Java环境的详细步骤和所需的代码。安装配置流程下面是安装配置Java环境的流程概览:步骤描述1下载JavaJDK2安装Java......