Nginx reverse-proxy to a cloudfront distribution and preserve gzip compressionHow to set up Nginx as a caching reverse proxy?What is the best nginx compression gzip level?Nginx reverse proxy + URL rewritenginx redirect issue with upstream configurationnginx : backend https, proxy_pass shows ipGzip compression with nginxnginx reverse proxy hide login query also on 301 redirect or full qualified urlNginx Reverse Proxy Gzip to ClientProblems with Gzip compression on Amazon CloudFrontNginx reverse proxy to many local servers + webserver duty

Why did Jon Snow do this immoral act if he is so honorable?

Best material to absorb as much light as possible

Are black holes spherical during merger?

How can I tell if I'm being too picky as a referee?

Find this cartoon

What weight should be given to writers groups critiques?

Are runways booked by airlines to land their planes?

Public transport tickets in UK for two weeks

Why did other houses not demand this?

Why isn't 'chemically-strengthened glass' made with potassium carbonate to begin with?

How to deal with a colleague who is being aggressive?

Why A=2 and B=1 in the call signs for Spirit and Opportunity?

Why does Bran want to find Drogon?

Python program to take in two strings and print the larger string

What Armor Optimization applies to a Mithral full plate?

Must a warlock replace spells with new spells of exactly their Pact Magic spell slot level?

Why haven't we yet tried accelerating a space station with people inside to a near light speed?

Dealing with spaghetti codebase, manager asks for things I can't deliver

Should there be an "a" before "ten years imprisonment"?

USPS Back Room - Trespassing?

Is it legal to meet with potential future employers in the UK, whilst visiting from the USA

Can you output map values in visualforce inline using a string key?

Grade-school elementary algebra presented in an abstract-algebra style?

Expected maximum number of unpaired socks



Nginx reverse-proxy to a cloudfront distribution and preserve gzip compression


How to set up Nginx as a caching reverse proxy?What is the best nginx compression gzip level?Nginx reverse proxy + URL rewritenginx redirect issue with upstream configurationnginx : backend https, proxy_pass shows ipGzip compression with nginxnginx reverse proxy hide login query also on 301 redirect or full qualified urlNginx Reverse Proxy Gzip to ClientProblems with Gzip compression on Amazon CloudFrontNginx reverse proxy to many local servers + webserver duty






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I have problems trying to set up a nginx reverse-proxy that preservers gzip compression.



My setup :



  • I have a CLoudfront distribution with gzip compression enabled (as you can see on http://dvty1uxa5ftxq.cloudfront.net my main.js is indeed compressed shrinking its size by more than 1/3).



  • Since some pages are redirected to another website, on my main website URL I am actually routing requests via nginx proxies, the relevant part of the config looks like



    server {
    listen 443 ssl;
    ...
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    location @cloudfront
    proxy_set_header Host $http_host;
    proxy_pass http://dvty1uxa5ftxq.cloudfront.net;



It would seem this is not enough to preverve gzip compression when a browser requests the website assets with proper accept headers specifying gzip. I am not knowledgeable enough with nginx to understand if I need to enable the gzip module or do anything. Most documentation I can find explain how to activate gzip encryption (eg for local files) but not when there's already a reliable gzip encryption performed by the proxied endpoint (here CloudFront).



Could anyone help me shed some light on this ?










share|improve this question




























    0















    I have problems trying to set up a nginx reverse-proxy that preservers gzip compression.



    My setup :



    • I have a CLoudfront distribution with gzip compression enabled (as you can see on http://dvty1uxa5ftxq.cloudfront.net my main.js is indeed compressed shrinking its size by more than 1/3).



    • Since some pages are redirected to another website, on my main website URL I am actually routing requests via nginx proxies, the relevant part of the config looks like



      server {
      listen 443 ssl;
      ...
      proxy_set_header X-NginX-Proxy true;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      location @cloudfront
      proxy_set_header Host $http_host;
      proxy_pass http://dvty1uxa5ftxq.cloudfront.net;



    It would seem this is not enough to preverve gzip compression when a browser requests the website assets with proper accept headers specifying gzip. I am not knowledgeable enough with nginx to understand if I need to enable the gzip module or do anything. Most documentation I can find explain how to activate gzip encryption (eg for local files) but not when there's already a reliable gzip encryption performed by the proxied endpoint (here CloudFront).



    Could anyone help me shed some light on this ?










    share|improve this question
























      0












      0








      0








      I have problems trying to set up a nginx reverse-proxy that preservers gzip compression.



      My setup :



      • I have a CLoudfront distribution with gzip compression enabled (as you can see on http://dvty1uxa5ftxq.cloudfront.net my main.js is indeed compressed shrinking its size by more than 1/3).



      • Since some pages are redirected to another website, on my main website URL I am actually routing requests via nginx proxies, the relevant part of the config looks like



        server {
        listen 443 ssl;
        ...
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        location @cloudfront
        proxy_set_header Host $http_host;
        proxy_pass http://dvty1uxa5ftxq.cloudfront.net;



      It would seem this is not enough to preverve gzip compression when a browser requests the website assets with proper accept headers specifying gzip. I am not knowledgeable enough with nginx to understand if I need to enable the gzip module or do anything. Most documentation I can find explain how to activate gzip encryption (eg for local files) but not when there's already a reliable gzip encryption performed by the proxied endpoint (here CloudFront).



      Could anyone help me shed some light on this ?










      share|improve this question














      I have problems trying to set up a nginx reverse-proxy that preservers gzip compression.



      My setup :



      • I have a CLoudfront distribution with gzip compression enabled (as you can see on http://dvty1uxa5ftxq.cloudfront.net my main.js is indeed compressed shrinking its size by more than 1/3).



      • Since some pages are redirected to another website, on my main website URL I am actually routing requests via nginx proxies, the relevant part of the config looks like



        server {
        listen 443 ssl;
        ...
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        location @cloudfront
        proxy_set_header Host $http_host;
        proxy_pass http://dvty1uxa5ftxq.cloudfront.net;



      It would seem this is not enough to preverve gzip compression when a browser requests the website assets with proper accept headers specifying gzip. I am not knowledgeable enough with nginx to understand if I need to enable the gzip module or do anything. Most documentation I can find explain how to activate gzip encryption (eg for local files) but not when there's already a reliable gzip encryption performed by the proxied endpoint (here CloudFront).



      Could anyone help me shed some light on this ?







      nginx reverse-proxy gzip amazon-cloudfront






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Dec 21 '17 at 14:01









      Cyril Duchon-DorisCyril Duchon-Doris

      14610




      14610




















          1 Answer
          1






          active

          oldest

          votes


















          0














          From my understanding you must enable gzip and tell nginx it is okay to send compressed responses even if they are proxied.



          location / 
          ...
          gzip on;
          gzip_proxied any;
          ...



          See https://nginx.org/en/docs/http/ngx_http_gzip_module.htm for more documentation.



          If you want to enable decompression for clients, that do not support gzip have a look at gunzip.



          location / 
          ...
          gunzip on;
          ...






          share|improve this answer























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "2"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f889198%2fnginx-reverse-proxy-to-a-cloudfront-distribution-and-preserve-gzip-compression%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            From my understanding you must enable gzip and tell nginx it is okay to send compressed responses even if they are proxied.



            location / 
            ...
            gzip on;
            gzip_proxied any;
            ...



            See https://nginx.org/en/docs/http/ngx_http_gzip_module.htm for more documentation.



            If you want to enable decompression for clients, that do not support gzip have a look at gunzip.



            location / 
            ...
            gunzip on;
            ...






            share|improve this answer



























              0














              From my understanding you must enable gzip and tell nginx it is okay to send compressed responses even if they are proxied.



              location / 
              ...
              gzip on;
              gzip_proxied any;
              ...



              See https://nginx.org/en/docs/http/ngx_http_gzip_module.htm for more documentation.



              If you want to enable decompression for clients, that do not support gzip have a look at gunzip.



              location / 
              ...
              gunzip on;
              ...






              share|improve this answer

























                0












                0








                0







                From my understanding you must enable gzip and tell nginx it is okay to send compressed responses even if they are proxied.



                location / 
                ...
                gzip on;
                gzip_proxied any;
                ...



                See https://nginx.org/en/docs/http/ngx_http_gzip_module.htm for more documentation.



                If you want to enable decompression for clients, that do not support gzip have a look at gunzip.



                location / 
                ...
                gunzip on;
                ...






                share|improve this answer













                From my understanding you must enable gzip and tell nginx it is okay to send compressed responses even if they are proxied.



                location / 
                ...
                gzip on;
                gzip_proxied any;
                ...



                See https://nginx.org/en/docs/http/ngx_http_gzip_module.htm for more documentation.



                If you want to enable decompression for clients, that do not support gzip have a look at gunzip.



                location / 
                ...
                gunzip on;
                ...







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 24 '17 at 1:17









                Alex bGoodeAlex bGoode

                1212




                1212



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Server Fault!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f889198%2fnginx-reverse-proxy-to-a-cloudfront-distribution-and-preserve-gzip-compression%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

                    Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

                    What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company