私はGoogleのCDN + GoogleのHTTPロードバランサが他のCDNとは異なることを発見しました。
通常のCDNを使用すると、発信元をバケットのHTTPアドレスに誘導し、/構造で作業することができます。例えば : GoogleのCDNバケツURL: googleapi.storage.com/my-bucket フォルダ構造:
通常のCDNの起源はgoogleapi.storage.com/my-を指します /1/1.jpgバケット と次のようなCDNのための新しいサービスエンドポイントを取得します: my-bucket.fastly.cdonservice.com と、この呼び出しは動作します: my-bucket.fastly.cdonservice.com/1/1.jpg
Googleのクラウドでは、設定しているのは、バックエンドの部分で作成したCDNサービスに接続されているパスです。 これは大きな違いです。このパスルールを作成したと仮定できます。 ホスト:www.googlecdnnonexplainedfeautres.com パス:/画像/ * サービス:yourbackendservice(あなたがキャッシュするバケットに接続)
ので、あなたは、これは動作するはずと仮定かもしれません。 www.googlecdnnonexplainedfeautres.com/images/ 1/1.jpg。
googleapi.storage.com/my-bucket/images/1:グーグルが行くとバケツにこのパスを検索しますので、
が、NO。.. ログを掘った後、あなたはバケツに404を見つけます/1.jpg。
お待ちください、画像はどこに届きましたか?私はそのフックを考えた。 Googleはこれを静的なウェブサイトのルート(S3でオン/オフをチェックすることができるもの)としてとらえないので、ここでは必須です。
これはどのように機能するはずですか?
このようになり、フォルダ構造を変更します。
GoogleのCDNバケツURL: googleapi.storage。COM /私のバケット
フォルダ構造: 画像/ 1/
1.JPGそして今、あなたは良いです。
このリンクが機能するようになりました:
www.googlecdnnonexplainedfeautres.com/images/1/1.jpgを。
GoogleのCDNソースとして使用するバケットをコミットする前に、LBに設定したパスと一致する別のトップフォルダを追加するだけです。
と権限、ALLUSERS、読み、など。
が楽しむ...もちろん!
このエラーは許可されていません。このエラーは、アクセスしようとしているオブジェクトのURLが、GoogleバケットのオブジェクトURLと一致しない場合に発生します。 'gsutil'がインストールされている場合は' ls'や 'cat'を実行して' gsutil ls gs:// objectUrl'のようなオブジェクトの内容を表示し、オブジェクトがバケットに存在するかどうかを確認します。ほとんどの問題は、間違ったオブジェクトのURLが作成されているためです。 –
ありがとう、私はあなたが言及するようにログに隠されたこのような自分自身を答えを書いた。ちょうど完全に強制的な静的なWebサイトのホストモードgoogleを理解していないCDNはデフォルトとして提供しています –