nginx redirect proxy requests http to https get to many redirections message












0















in my nginx server i would to redirect all http incoming request to https.
I use gunicorn and i set as / location a proxy 127.0.0.1:8080
Part of my nginx.conf configuration file is:



server {
listen 80;
listen 443 default ssl http2;
ssl_certificate /var/www/web/core/mycert.crt;
ssl_certificate_key /var/www/web/core/mykey.key;
server_name ~^(?<subdomain>w+).mydomain.io$;
root /var/www;


return 301 https://$server_name$request_uri;


# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location /static/ {
alias /var/www/web/core/frontend/static/;
}

location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
#add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
proxy_set_header X-DTS-SCHEMA $subdomain;
}


but when i try to open the http version of my page i get "Error to many redirections"
I also tried to add in my proxy directives:



proxy_redirect http:// https://;


but nothing happens.



How can i redirect my proxy request to https everytime?



Thanks in advance










share|improve this question



























    0















    in my nginx server i would to redirect all http incoming request to https.
    I use gunicorn and i set as / location a proxy 127.0.0.1:8080
    Part of my nginx.conf configuration file is:



    server {
    listen 80;
    listen 443 default ssl http2;
    ssl_certificate /var/www/web/core/mycert.crt;
    ssl_certificate_key /var/www/web/core/mykey.key;
    server_name ~^(?<subdomain>w+).mydomain.io$;
    root /var/www;


    return 301 https://$server_name$request_uri;


    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location /static/ {
    alias /var/www/web/core/frontend/static/;
    }

    location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Real-IP $remote_addr;
    #add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    proxy_set_header X-DTS-SCHEMA $subdomain;
    }


    but when i try to open the http version of my page i get "Error to many redirections"
    I also tried to add in my proxy directives:



    proxy_redirect http:// https://;


    but nothing happens.



    How can i redirect my proxy request to https everytime?



    Thanks in advance










    share|improve this question

























      0












      0








      0








      in my nginx server i would to redirect all http incoming request to https.
      I use gunicorn and i set as / location a proxy 127.0.0.1:8080
      Part of my nginx.conf configuration file is:



      server {
      listen 80;
      listen 443 default ssl http2;
      ssl_certificate /var/www/web/core/mycert.crt;
      ssl_certificate_key /var/www/web/core/mykey.key;
      server_name ~^(?<subdomain>w+).mydomain.io$;
      root /var/www;


      return 301 https://$server_name$request_uri;


      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;

      location /static/ {
      alias /var/www/web/core/frontend/static/;
      }

      location / {
      proxy_pass http://127.0.0.1:8000;
      proxy_set_header X-Forwarded-Host $server_name;
      proxy_set_header X-Real-IP $remote_addr;
      #add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
      proxy_set_header X-DTS-SCHEMA $subdomain;
      }


      but when i try to open the http version of my page i get "Error to many redirections"
      I also tried to add in my proxy directives:



      proxy_redirect http:// https://;


      but nothing happens.



      How can i redirect my proxy request to https everytime?



      Thanks in advance










      share|improve this question














      in my nginx server i would to redirect all http incoming request to https.
      I use gunicorn and i set as / location a proxy 127.0.0.1:8080
      Part of my nginx.conf configuration file is:



      server {
      listen 80;
      listen 443 default ssl http2;
      ssl_certificate /var/www/web/core/mycert.crt;
      ssl_certificate_key /var/www/web/core/mykey.key;
      server_name ~^(?<subdomain>w+).mydomain.io$;
      root /var/www;


      return 301 https://$server_name$request_uri;


      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;

      location /static/ {
      alias /var/www/web/core/frontend/static/;
      }

      location / {
      proxy_pass http://127.0.0.1:8000;
      proxy_set_header X-Forwarded-Host $server_name;
      proxy_set_header X-Real-IP $remote_addr;
      #add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
      proxy_set_header X-DTS-SCHEMA $subdomain;
      }


      but when i try to open the http version of my page i get "Error to many redirections"
      I also tried to add in my proxy directives:



      proxy_redirect http:// https://;


      but nothing happens.



      How can i redirect my proxy request to https everytime?



      Thanks in advance







      nginx https gunicorn






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 27 '18 at 17:45









      Manuel SantiManuel Santi

      16810




      16810
























          1 Answer
          1






          active

          oldest

          votes


















          1














          There is a big mistake in your code, you can't do this like you did:



          return 301 https://$server_name$request_uri;


          If you wish to use like that, you should split the http and https server. When you read your file, you just redirect each time you arrive on the vhost, that's causing the too many redirection.



          You could also put a condition on the return to not execute if you already are in https...






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            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%2fstackoverflow.com%2fquestions%2f53505312%2fnginx-redirect-proxy-requests-http-to-https-get-to-many-redirections-message%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









            1














            There is a big mistake in your code, you can't do this like you did:



            return 301 https://$server_name$request_uri;


            If you wish to use like that, you should split the http and https server. When you read your file, you just redirect each time you arrive on the vhost, that's causing the too many redirection.



            You could also put a condition on the return to not execute if you already are in https...






            share|improve this answer




























              1














              There is a big mistake in your code, you can't do this like you did:



              return 301 https://$server_name$request_uri;


              If you wish to use like that, you should split the http and https server. When you read your file, you just redirect each time you arrive on the vhost, that's causing the too many redirection.



              You could also put a condition on the return to not execute if you already are in https...






              share|improve this answer


























                1












                1








                1







                There is a big mistake in your code, you can't do this like you did:



                return 301 https://$server_name$request_uri;


                If you wish to use like that, you should split the http and https server. When you read your file, you just redirect each time you arrive on the vhost, that's causing the too many redirection.



                You could also put a condition on the return to not execute if you already are in https...






                share|improve this answer













                There is a big mistake in your code, you can't do this like you did:



                return 301 https://$server_name$request_uri;


                If you wish to use like that, you should split the http and https server. When you read your file, you just redirect each time you arrive on the vhost, that's causing the too many redirection.



                You could also put a condition on the return to not execute if you already are in https...







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 27 '18 at 19:24









                night-goldnight-gold

                719413




                719413
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • 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%2fstackoverflow.com%2fquestions%2f53505312%2fnginx-redirect-proxy-requests-http-to-https-get-to-many-redirections-message%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

                    A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                    Calculate evaluation metrics using cross_val_predict sklearn

                    Insert data from modal to MySQL (multiple modal on website)