CJW

CJW 个人博客

分享网络知识和知识记录
github
email

CloudFlareの変換ルールを使用して、Backblaze B2のバケットパスを非表示にします。

Backblaze B2 は、CloudFlare CDN に接続するためのチュートリアルを紹介する記事「Backblaze B2、低価格のオブジェクトストレージ、CloudFlare CDN への接続をサポート」で紹介されていますが、1 つの欠点があります。B2 のドメイン名はバケット名を公開してしまうため、あなたの CloudFlare の加速ドメインを他の人が使用して B2 を加速したり、直接アクセスして盗難する可能性があります。これはユーザーフレンドリーではなく、安全ではありません。

例を挙げます:

B2 が提供するドメインの形式は次のとおりです:https://f002.backblazeb2.com/file/bucket/xxx.txt
CloudFlare で加速後のドメインは次のようになります:https://b2.domain.com/file/bucket/xxx.txt
もし私が B2 でバケット名「xiaoz」を作成した場合、あなたの CloudFlare ドメインhttps://b2.domain.com/file/xiaoz/xxx.txt にアクセスすることができ、あなたの CloudFlare のトラフィックを占有することになります。

または、直接ソースサイトにアクセスすることもできます:https://f002.backblazeb2.com/file/xiaoz/xxx.txt でトラフィックを盗むことができます。

この記事の目的は、B2 の非常にユーザーフレンドリーでない URL パス「file/bucket/」を削除することです。

前提条件の準備
B2 のドメインがまだ CloudFlare に接続されていない場合は、次の記事を参考にしてください:https://blog.xiaoz.org/archives/13256

変換ルールの作成
CloudFlare の管理画面 - ルール - 変換ルール - 変換ルールの作成 - URL の書き換え

次に入力します:

ルール名:任意の名前
フィールド:「ホスト名」を選択
演算子:「等しい」を選択
値:CloudFlare で B2 の加速ドメイン(あなた自身のドメイン)を設定

次に、パスを「動的にリライト」に選択し、次のように入力します:

concat("/file/bucket", http.request.uri.path)
バケットは自分のストレージバケット名に変更し、デプロイを選択してください。

最適化後
最適化前のアクセスパスは次のようになります:https://b2.domain.com/file/bucket/xxx.txt

最適化後のパスは次のようになります:https://b2.domain.com/xxx.txt

「file/bucket/」が削除されたことがわかります。

不要なレスポンスヘッダーの削除
Backblaze B2 は、リクエストのレスポンスヘッダーに以下のヘッダーパラメータを追加します:

x-bz-content-sha1
x-bz-file-id
x-bz-file-name
x-bz-upload-timestamp
これらのパラメータは影響は少ないですが、これらのパラメータを見るだけで B2 を使用していることがわかりますし、これらのヘッダーパラメータは通常あまり役に立ちません。CloudFlare のリライトルールを使用してこれらを削除することもできます。

引き続き変換ルールの作成 - レスポンスヘッダーの変更

ホスト名などは前述と同じです。

次に、すべてを「削除」に選択し、最後に上記のヘッダーパラメータを入力してください。

まとめ
CloudFlare と Backblaze B2 の間のトラフィックは無料であり、CloudFlare の変換ルールを使用することでバケット名を隠すことができ、URL をよりユーザーフレンドリーにすることができます。また、ある程度の範囲で Backblaze B2 の盗難リスクを防ぐことができます。

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