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의
, 읽기 등
즐기십시오!
이 오류는 허가와는 아무런 관련이 없습니다. 이 오류는 액세스하려는 객체 URL이 Google 버킷의 객체 URL과 일치하지 않는 경우에 발생합니다. 'gsutil'을 설치했다면'ls' 또는'cat'을 실행하여'gsutil ls gs : // objectUrl'와 같은 객체 내용을 표시하고 객체가 현재 또는 이미 버킷에 있는지 확인하십시오. 대부분의 문제는 잘못된 객체 URL이 생성되기 때문에 발생합니다. –
감사합니다. 나는 당신이 언급 한대로 로그에 숨겨진 답을 직접 작성했습니다. 그냥 강제로 완전히 정적 웹 사이트 호스트 모드를 이해하지 못했습니다 Google은 기본적으로 제공하는 CDN –