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).

Forrige
Forrige

NextJS 14: A Closer Look at the Latest Enhancements and Announcements

Neste
Neste

Ny app mappe i Next.JS