GZIP file gjennom CloudFront
Om du får en feil som sier “Unable to parse <some gzip file> This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: gzip" present.” når du henter en fil fra AWS CloudFront, det fins en enkel løsning.
Lage en ny CloudFront function med følgende kode:
function handler(event) { var response = event.response; var headers = response.headers; if ((headers['Content-Type'] && headers['Content-Type'].value === 'application/x-gzip') || (headers['content-type'] && headers['content-type'].value === 'application/x-gzip')) { headers['content-encoding'] = {value: 'gzip'}; } return response; }
og knytte den til “viewer response” i din distribution. Du vil nå få den ekstra header som trengs.
Problemet løst!
Om den ikke løser problemet, sjekk header i nettleseren din. Om du ikke får den ny “content-encoding” header i svaret, må du sannsynligvis tømme CloudFront cache for å få det til å fungere. For å gjøre det, navigere til din distribution deretter “invalidations”. Lage en ny validation for din URL (eller /* hvis du vil tømme cache helt).