码农知识堂 - 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 记录指向到目标域名,其中的问题是什么暂时我还没搞清楚。

  • 相关阅读:
    INnoDB(索引与算法)
    C语言——冒泡排序法与简单选择排序法及其区别
    淘宝天猫API:buyer_cart_add-添加到购物车
    混淆矩阵和数据不平衡 (3/3)
    动态内存详解
    鉴源论坛 · 观模丨软件单元测试真的有必要吗?(下)
    电工什么是电动势
    web前端tips:js继承——寄生式继承
    BERT之后,NLP主要预训练模型演变梳理
    什么是数据湖?数据湖的概念及发展历程
  • 原文地址:https://www.cnblogs.com/zxbing0066/p/17572858.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号