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: 国、役割、クッキーの存在条件など、リダイレクトに一致する条件。

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 リポジトリを選択します。

そして、デプロイが完了するのを待つだけです。

完結撒花👏

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。