码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Cloudflare 重定向配置


    合集 - 前端(7)
    1.Node 调试利器,前端、Node 开发必备 - VSCode JS Debug Terminal05-152.Cypress 踩坑记 - DOM 遮挡05-163.React SSR - 写个 Demo 一学就会06-184.React SSG - 也写个 Demo 吧06-245.什么是 CSR、SSR、SSG、ISR - 渲染模式详解07-01
    6.Cloudflare 重定向配置07-22
    7.next.js 源码解析 - getStaticProps、getStaticPaths 篇08-15
    收起

    最近把之前的一个网站域名换成另一个域名,想要添加一下重定向,避免流量流失(虽然本来就没流量)。然后在 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 记录指向到目标域名,其中的问题是什么暂时我还没搞清楚。

  • 相关阅读:
    mysql—用户管理
    表48表48
    用已安装好的系统级别PsychoPy软件配置Python虚拟环境
    1个月时间整理了2019年上千道Java面试题,近500页文档!
    SAP UI5 应用开发教程之一百零三 - 如何在 SAP UI5 应用中消费第三方库
    云上未来,数智导航:阿里云研究院报告合集
    2419. 按位与最大的最长子数组
    【机器学习】集成学习:scikitLearn实现AdaBoost及梯度提升GradientBoosting,及XGBT库
    linux系统调用拦截Centos7.6(三)の内核调用拦截
    Docker安装与应用全套讲解
  • 原文地址:https://www.cnblogs.com/zxbing0066/p/17572858.html
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号