2017-11-03 5 views
0

S3 버킷의 이미지에 대해 Cloudfront를 cdn으로 사용하는 스테이징 서버에 Rails 앱이 있습니다. 양동이의 이미지는 모두 jpeg (gzipped가 아님)입니다. 버킷에서 직접 이미지를로드하면 해당 응답 헤더에서 콘텐츠 유형이 image/svg+xml으로 설정되어있는 것을 볼 수 있습니다.압축하지 않아도 Cloudfront Gzipping 파일

CloudFront를 분포 한 번의 동작을 가지며 압축 꺼져 :

그러나 현장에서 로딩 이미지에 문제가 취소 :

압축 자동 사물.

요청한 이미지 요청 (굵게 적절한 헤더) 응답 헤더와 성공 1MB 미만인 경우 : 요청 된 화상 1메가바이트 이상이면

accept-ranges:bytes 
age:12058 
cache-control:max-age=29030400 
content-length:22749 
content-type:image/jpeg 
date:Fri, 03 Nov 2017 07:35:39 GMT 
etag:"5391a06cfff89879e57da305a21e3e4c" 
last-modified:Tue, 29 Nov 2016 11:14:53 GMT 
server:AmazonS3 
status:200 
via:1.1 1b61c3f085e80ef7e1cd6e9ac0cdfa77.cloudfront.net (CloudFront) 
x-amz-cf-id:1-YfXx6B_px2YlEK7b96chYcC2AfZ_QMd42NpcilQcXhr63gpJ4_uQ== 
x-cache:Hit from cloudfront 

그러나, 요청이 성공하지만 화상 ISN 표시되지 않습니다. 헤더는 응답 인코딩이 gzip임을 보여줍니다.

age:12712 
**content-encoding:gzip** 
**content-type:text/html; charset=utf-8** 
date:Fri, 03 Nov 2017 07:12:08 GMT 
server:Cowboy 
status:200 OK 
status:200 
vary:Accept-Encoding 
via:1.1 vegur, 1.1 adc13b6ff82fd04caa2efba65479257c.cloudfront.net (CloudFront) 
x-amz-cf-id:_CLNU7iKqnFF1kTNFRJVfrv4iTh8nzol1smRg73p8zESaZo96NZ2gA== 
x-cache:Hit from cloudfront 
x-content-type-options:nosniff 
x-frame-options:SAMEORIGIN 
x-request-id:eac71856-51b8-4b11-80eb-95e2b4c5bb37 
x-runtime:0.022798 
x-xss-protection:1; mode=block 

왜 CloudFront를이 이미지를 Gzip으로 압축하고, 왜 gzip으로 압축 된 이미지가 화면에 렌더링 실패? 내가 이해하는 한, 이미지를 그리기위한 요점은 없지만 여전히 렌더링되어야합니다.

+0

예제에는 완전히 다른 원 서버 S3 대 Cowboy가 표시됩니다. –

+0

@ Michael-sqlbot 나는 그것이 cloudfront의 두포의 밑에 무언가 이었다는 것을 생각했다. 카우보이가 무엇인지 전혀 모른 채 원산지가 설정되었습니다. 에지 서버 일 수 있습니까? – Undistraction

+0

아니요, 그렇지 않습니다. 카우보이는 AWS에서 사용하지 않는 웹 서버이며 'Via : vegur'는이 응답이 실제로 Heroku를 사용하여 수행 한 작업 일 수 있음을 나타냅니다. https://superuser.com/a/857239/183147 –

답변

0

배포를 무효로하고 파일이 더 이상 gzipped되지 않아 올바르게 표시됩니다.

이미지가 표시되지 않는 이유가 확실하지 않습니다.