ALB to map multiple context path on one common port (tomcat)










1















Currently, we have tomcat based deployments and one Apache server to manage multiple context path on the same port (v-host configuration)



For example,



ProxyPassMatch /test(.) http://127.0.0.1:7077/test$1*



ProxyPassMatch /test2(.) http://127.0.0.1:7077/test2$1*



and so on



Now we are shifting towards ALB of AWS and we want to map all those context paths in ALB as present in Apache configuration file.



We created ALB --> Listener on 80 Port --> Target created with a Necessary Instance with port 7077 --> health check is passed



Listener rule is,



Context path /test --> Forward to Target Group of 7077 port



Context path /test2 --> Forward to Target Group of 7077 port



But while testing it is showing 502 Bad Gateway when we shut down Apache and to test ALB



Any Solutions?










share|improve this question


























    1















    Currently, we have tomcat based deployments and one Apache server to manage multiple context path on the same port (v-host configuration)



    For example,



    ProxyPassMatch /test(.) http://127.0.0.1:7077/test$1*



    ProxyPassMatch /test2(.) http://127.0.0.1:7077/test2$1*



    and so on



    Now we are shifting towards ALB of AWS and we want to map all those context paths in ALB as present in Apache configuration file.



    We created ALB --> Listener on 80 Port --> Target created with a Necessary Instance with port 7077 --> health check is passed



    Listener rule is,



    Context path /test --> Forward to Target Group of 7077 port



    Context path /test2 --> Forward to Target Group of 7077 port



    But while testing it is showing 502 Bad Gateway when we shut down Apache and to test ALB



    Any Solutions?










    share|improve this question
























      1












      1








      1








      Currently, we have tomcat based deployments and one Apache server to manage multiple context path on the same port (v-host configuration)



      For example,



      ProxyPassMatch /test(.) http://127.0.0.1:7077/test$1*



      ProxyPassMatch /test2(.) http://127.0.0.1:7077/test2$1*



      and so on



      Now we are shifting towards ALB of AWS and we want to map all those context paths in ALB as present in Apache configuration file.



      We created ALB --> Listener on 80 Port --> Target created with a Necessary Instance with port 7077 --> health check is passed



      Listener rule is,



      Context path /test --> Forward to Target Group of 7077 port



      Context path /test2 --> Forward to Target Group of 7077 port



      But while testing it is showing 502 Bad Gateway when we shut down Apache and to test ALB



      Any Solutions?










      share|improve this question














      Currently, we have tomcat based deployments and one Apache server to manage multiple context path on the same port (v-host configuration)



      For example,



      ProxyPassMatch /test(.) http://127.0.0.1:7077/test$1*



      ProxyPassMatch /test2(.) http://127.0.0.1:7077/test2$1*



      and so on



      Now we are shifting towards ALB of AWS and we want to map all those context paths in ALB as present in Apache configuration file.



      We created ALB --> Listener on 80 Port --> Target created with a Necessary Instance with port 7077 --> health check is passed



      Listener rule is,



      Context path /test --> Forward to Target Group of 7077 port



      Context path /test2 --> Forward to Target Group of 7077 port



      But while testing it is showing 502 Bad Gateway when we shut down Apache and to test ALB



      Any Solutions?







      amazon-web-services amazon-elb






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 12 '18 at 14:11









      DevendraDevendra

      276




      276






















          1 Answer
          1






          active

          oldest

          votes


















          0














          The Application Load Balancer cannot rewrite the path going to the target like you can with a typical reverse proxy.



          https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions says:




          The path pattern is used to route requests but does not alter them. For example, if a rule has a path pattern of /img/*, the rule would forward a request for /img/picture.jpg to the specified target group as a request for /img/picture.jpg.




          Tomcat specific:



          Perhaps you can have the tomcat app listen on multiple paths with configuration in context.xml or server.xml. This question has some suggestions, but it seems if you have multiple contexts, the app will run twice and take twice the memory.






          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%2f53263939%2falb-to-map-multiple-context-path-on-one-common-port-tomcat%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














            The Application Load Balancer cannot rewrite the path going to the target like you can with a typical reverse proxy.



            https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions says:




            The path pattern is used to route requests but does not alter them. For example, if a rule has a path pattern of /img/*, the rule would forward a request for /img/picture.jpg to the specified target group as a request for /img/picture.jpg.




            Tomcat specific:



            Perhaps you can have the tomcat app listen on multiple paths with configuration in context.xml or server.xml. This question has some suggestions, but it seems if you have multiple contexts, the app will run twice and take twice the memory.






            share|improve this answer



























              0














              The Application Load Balancer cannot rewrite the path going to the target like you can with a typical reverse proxy.



              https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions says:




              The path pattern is used to route requests but does not alter them. For example, if a rule has a path pattern of /img/*, the rule would forward a request for /img/picture.jpg to the specified target group as a request for /img/picture.jpg.




              Tomcat specific:



              Perhaps you can have the tomcat app listen on multiple paths with configuration in context.xml or server.xml. This question has some suggestions, but it seems if you have multiple contexts, the app will run twice and take twice the memory.






              share|improve this answer

























                0












                0








                0







                The Application Load Balancer cannot rewrite the path going to the target like you can with a typical reverse proxy.



                https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions says:




                The path pattern is used to route requests but does not alter them. For example, if a rule has a path pattern of /img/*, the rule would forward a request for /img/picture.jpg to the specified target group as a request for /img/picture.jpg.




                Tomcat specific:



                Perhaps you can have the tomcat app listen on multiple paths with configuration in context.xml or server.xml. This question has some suggestions, but it seems if you have multiple contexts, the app will run twice and take twice the memory.






                share|improve this answer













                The Application Load Balancer cannot rewrite the path going to the target like you can with a typical reverse proxy.



                https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions says:




                The path pattern is used to route requests but does not alter them. For example, if a rule has a path pattern of /img/*, the rule would forward a request for /img/picture.jpg to the specified target group as a request for /img/picture.jpg.




                Tomcat specific:



                Perhaps you can have the tomcat app listen on multiple paths with configuration in context.xml or server.xml. This question has some suggestions, but it seems if you have multiple contexts, the app will run twice and take twice the memory.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 14 '18 at 18:45









                Victor RoetmanVictor Roetman

                1,2361129




                1,2361129



























                    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%2f53263939%2falb-to-map-multiple-context-path-on-one-common-port-tomcat%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

                    Use pre created SQLite database for Android project in kotlin

                    Darth Vader #20

                    Ondo