banner
Jason

Jason的碎碎念

Jason的碎碎念
github

netlify反代

起因#

我在使用 netlify 部署博客后,经过测试速度,我觉得作为一款非国内产品速度相当不错

img_35b2aaa74553ddcf3b4e9765d2a3df0b

所以我想到了我部署在 vercel 的 jsd 反代 如果我把反代部署在 netlify 那么 cdn 的速度会有提升 说干就干

ps: 如果你不想看我叨叨,你可以点击跳转到代码处直接查看代码使用

需要的东西#

一个 netlify 账号

img_4c8a395ea13de4893afb0921e74afeef

一个 github 账号

查阅文档#

打开 netlify 的文档查看

格式#

找到了路由设置的相关内容后可以看到这些内容和格式

如果你在 Netlify 配置文件中指定重定向规则,你可以使用更结构化的配置格式,具有额外的功能,例如签名代理重定向。在 netlify.toml 文件中,我们使用 TOML 的表数组来指定每个单独的重定向规则。以下关键字可用:

from: 你想要重定向的路径。

to: 你想要重定向到的 URL 或路径。

status: 你想在该重定向中使用的 HTTP 状态码;默认为 301。

force: 是否覆盖路径中的任何现有内容;默认为 false。有关更多详细信息,请访问阴影说明。

query: 必须匹配重定向的查询字符串参数。有关更多详细信息,请访问查询参数说明。

conditions: 匹配重定向的条件,包括国家、角色和 cookie 存在条件。

headers: 在代理重定向中发送的附加请求头。

signed: 用于签名代理重定向的环境变量名称。

目录反代目录匹配#

因为反代 jsd 同时需要反代 jsd 目录下的所有文件,所以这里需要有一个路径匹配

原文如下

星号表示一个匹配后续任何内容的通配符。

你可以在重写或重定向中使用通配符,如下所示:

/news/* /blog/

这将把路径如 /news/2004/01/10/my-story 重定向到 /blog/2004/01/10/my-story。

所以我需要在 from的 / 后面添加 * to的 / 后面添加

实践代码#

这里我需要 http 返回状态码为 200

这样我的国内服务器就能再次反代 netlify 的 cdn

整合完上面的设置配置就是这样了

这里我们需要把下面的代码放在新建名为 netlify.toml的文件中

注意这里的文件必须在仓库的根目录

[[redirects]]
from = "/*"
to = "https://cdn.jsdelivr.net/:splat"
status = 200
force = true
headers = {X-From = "Netlify"}

然后把这个仓库上传到 github

之后我们点击这里在 netlify 新建一个项目并且选择已经上传到 github 仓库

然后等待部署完成即可

完结撒花👏

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。