2017-11-04 9 views
0

アップロードされた画像をGoogleストレージバケットにアップロードしました。ロードバランサを使用して動作させるためにCDNを設定しようとしていません。Google CDNからCDNへの接続が作成されました。キーエラー

ストレージステータス: バケツ権限:ストレージオブジェクトビューア - ReaderがALLUSERSに割り当てるには、 ストレージレガシーバケツReaderがALLUSERS

に割り当てる

ファイルステータス: 株式公開が設定され、公共のリンクがあり

ホスト名のパス/クリエイティブに セット/ *

しかし、私はいつもこのMSGを取得:ロードバランサ

私が気づく何

はできるだけ早く私は、オートスケールグループ

のバックエンドサービスへの直接の別のパスのビルド/ *私はここですべての設定をしないのですが、そこにある/クリエイティブ/ *のパスを構築するのですか?

+0

このエラーは許可されていません。このエラーは、アクセスしようとしているオブジェクトのURLが、GoogleバケットのオブジェクトURLと一致しない場合に発生します。 'gsutil'がインストールされている場合は' ls'や 'cat'を実行して' gsutil ls gs:// objectUrl'のようなオブジェクトの内容を表示し、オブジェクトがバケットに存在するかどうかを確認します。ほとんどの問題は、間違ったオブジェクトのURLが作成されているためです。 –

+0

ありがとう、私はあなたが言及するようにログに隠されたこのような自分自身を答えを書いた。ちょうど完全に強制的な静的なWebサイトのホストモードgoogleを理解していないCDNはデフォルトとして提供しています –

答えて

0

私は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、読み、など。

が楽しむ...もちろん!

関連する問題