2014-03-03 4 views
2

정적 웹 사이트에서 Cloudfront를 사용하여 이미지와 CSS를 제공하고 싶습니다. 나는 아마존 S3로 설정하는 방법을 보여주는 무수한 기사를 읽었지 만 호스트에서 파일을 호스트하고 클라우드 프론트를 사용하여 파일의 전송 속도를 높이고 싶습니다. 그 방법에 대해서는 확실하지 않습니다.S3없이 Amazon Cloudfront 설정

지금까지 OriginDC와 CName을 사용하여 CloudFront에 배포본을 만들고 배포했습니다.

원산지 도메인 :

지금이 대상 xxxxxx.cloudfront.net와

media.mydomain.com : example.me CNAME은 내 도메인에 대한 CNAME을 추가

을 media.example.me 내가 붙어있는 곳이야? 스타일 시트가 http://example.me/stylesheets/screen.css 내가 변경합니까했다, 그래서 만약 내가 그 CNAME 내 HTML에서 링크를 업데이트해야합니까 그 http://media.example.me/images/image1.jpg에 ../images/image1.jpg 된 스타일 시트 내에서 http://media.example.me/stylesheets/screen.css

및 이미지?

모든 것을 연결하는 방법을 조금 혼란스럽게 생각합니다. 처음으로 CDN을 사용하는 데 처음 접했습니다.

감사

답변

1

예, CDN을 가리 키도록 HTML의 경로를 업데이트해야합니다. 일반적으로 배포/빌드 프로세스가있는 경우이 링크 변경은 개발 시간이 로컬 파일을 사용할 수 있도록 그 시점에 수행 할 수 있습니다.

또 다른 중요한 것은 CSS/JS 등을 버전 관리하는 것입니다. CSS/JS를 자주 변경할 수 있습니다. 변경을 할 때 일반적으로 CDN은 반영하기 위해 24 시간이 걸립니다. (또 다른 옵션은 CDN의 파일을 무효화하는 것입니다. 그러나 이것은 명시 적으로 청구되며 권장하지 않습니다). 제안 된 방법은 "media.example.me/ XYZ /stylesheets/screen.css"와 같은 경로를 생성하고 각 배포에 대해이 XYZ를 다른 번호로 변경하는 것입니다 (타임 스탬프/에포크가 수행합니다). 이렇게하면 각 배포마다 HTML 만 무효화해야하며 다른 파일은 새로운 경로이므로 새로운 방식으로로드됩니다. 이 기술은 일반적으로 URL 지문 인쇄라고합니다.

+0

주셔서 감사합니다. 나는 사람이 사용하는 것을 보았습니다. screen.css? v = 12345 등은 새로운 폴더 경로가 아닌 수용 가능합니까? –

+0

네, 이것도 가능합니다. 쿼리 매개 변수를 전달하려면 Cloudfront에서 특수 구성을 수행해야합니다. –

0

예, 당신은 CDN 도메인을 통해로드 당신의 CSS 파일에 대한 참조를 업데이트 할 것입니다. CSS 내의 이미지 경로에 도메인이 포함되어 있지 않으면 클라우드 프런트를 통해 자동으로로드됩니다.

관련 문제