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









      Devendra

      176




      176
























          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 Roetman

                1,2261129




                1,2261129






























                    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.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • 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







                    這個網誌中的熱門文章

                    Xamarin.form Move up view when keyboard appear

                    Post-Redirect-Get with Spring WebFlux and Thymeleaf

                    Anylogic : not able to use stopDelay()