2017-11-04 10 views
0

이미지를 Google 저장 용량 버킷에 업로드했으며로드 밸런서를 사용하여 작동하도록 설정하지 않았습니다.Google CDN에서 CDN에 연결 nosuch 키 오류 생성

저장 상태 : 버킷 권한 : 저장 개체 뷰어 - 리더가 ALLUSERS에 할당이 저장 레거시 버킷 리더가 ALLUSERS

에 할당

파일 상태 : 공유 공공 설정하고 공개 링크가 있습니다

호스트 이름

에 경로/광고 소재에 설정/*를하지만 난 항상이 MSG 얻을 :로드 밸런서

을 내가 경로를 구축으로 내가 알 것

은 곧/광고/* 다른 경로 빌드/* 내가 여기에 설정을 잃었 자동 규모의 그룹

의 백엔드 서비스에 직접 있는가?

+0

이 오류는 허가와는 아무런 관련이 없습니다. 이 오류는 액세스하려는 객체 URL이 Google 버킷의 객체 URL과 일치하지 않는 경우에 발생합니다. 'gsutil'을 설치했다면'ls' 또는'cat'을 실행하여'gsutil ls gs : // objectUrl'와 같은 객체 내용을 표시하고 객체가 현재 또는 이미 버킷에 있는지 확인하십시오. 대부분의 문제는 잘못된 객체 URL이 생성되기 때문에 발생합니다. –

+0

감사합니다. 나는 당신이 언급 한대로 로그에 숨겨진 답을 직접 작성했습니다. 그냥 강제로 완전히 정적 웹 사이트 호스트 모드를 이해하지 못했습니다 Google은 기본적으로 제공하는 CDN –

답변

0

Google CDN + Google http로드 밸런서가 다른 CDN과 다른 점을 발견했습니다.

일반 CDN을 사용하면 출처를 버킷 HTTP 주소로 보내고/구조에서 작업 할 수 있습니다. 예를 들어 : 구글 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 : 구글 가서 버킷에이 경로를 검색하기 때문에

하지만 .. 로그를 파고 후 버킷에 404를 찾을 수 /1.jpg.

기다려, 이미지는 어디서 왔습니까? 나는 그 고리를 생각했다. 구글은 이것을 고정 웹 사이트 루트 (S3에서 켜고 확인할 수있는 것)로 여기에서 가져 가야합니다.

어떻게 작동해야합니까?

는 이렇게 될 폴더 구조를 수정 :

구글 CDN 버킷 URL : googleapi.storage합니다.COM/나의 버킷

폴더 구조 : 이미지/1/1.JPG

지금 당신이 좋다.

이 링크는 지금 작동합니다 :

www.googlecdnnonexplainedfeautres.com/images/1/1.jpg합니다.

Google 용 CDN 소스로 사용할 버킷을 커밋하기 전에 LB에 설정 한 경로와 일치하는 다른 최상위 폴더를 추가하기 만하면됩니다.

물론 .. 권한 ALLUSERS의

, 읽기 등

즐기십시오!